Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Apollo Guidance Computer</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Apollo_Guidance_Computer"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Apollo_Guidance_Computer rootpage-Apollo_Guidance_Computer skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Apollo Guidance Computer</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox"><caption class="infobox-title">Apollo Guidance Computer</caption><tbody><tr><td colspan="2" class="infobox-image"><div class="infobox-caption">Apollo Guidance Computer and DSKY</div></td></tr><tr><th scope="row" class="infobox-label">Invented by</th><td class="infobox-data"><a href="Charles_Stark_Draper_Laboratory" class="mw-redirect" title="Charles Stark Draper Laboratory">Charles Stark Draper Laboratory</a></td></tr><tr><th scope="row" class="infobox-label">Manufacturer</th><td class="infobox-data"><a href="Raytheon" title="Raytheon">Raytheon</a></td></tr><tr><th scope="row" class="infobox-label">Introduced</th><td class="infobox-data">August&nbsp;1966<span style="display:none">&nbsp;(<span class="bday dtstart published updated">1966-08</span>)</span></td></tr><tr><th scope="row" class="infobox-label">Discontinued</th><td class="infobox-data">July&nbsp;1975<span style="display:none">&nbsp;(<span class="bday dtstart published updated">1975-07</span>)</span></td></tr><tr><th scope="row" class="infobox-label">Type</th><td class="infobox-data"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */


.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}


/* end https://en.wikipedia.org/ */
</style><div class="plainlist"><ul><li><a href="Avionics" title="Avionics">Avionics</a></li><li>Guidance computer</li></ul></div></td></tr><tr><th scope="row" class="infobox-label">Processor</th><td class="infobox-data">Discrete <a href="Silicon" title="Silicon">silicon</a> <a href="Integrated_circuit" title="Integrated circuit">integrated circuit</a> (IC) chips (<a href="Resistor%E2%80%93transistor_logic" title="Resistor–transistor logic">RTL</a> based)</td></tr><tr><th scope="row" class="infobox-label">Frequency</th><td class="infobox-data">2.048 MHz</td></tr><tr><th scope="row" class="infobox-label">Memory</th><td class="infobox-data"><div class="plainlist"><ul><li>15-bit wordlength + 1-bit parity</li><li>2048 words <a href="Random-access_memory" title="Random-access memory">RAM</a> (<a href="Magnetic-core_memory" title="Magnetic-core memory">magnetic-core memory</a>)</li><li>36,864 words <a href="Read-only_memory" title="Read-only memory">ROM</a> (<a href="Core_rope_memory" title="Core rope memory">core rope memory</a>)<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></li></ul></div></td></tr><tr><th scope="row" class="infobox-label">Ports</th><td class="infobox-data">DSKY, IMU, Hand Controller, Rendezvous Radar (LM), Landing Radar (LM), Telemetry Receiver, Engine Command, Reaction Control System</td></tr><tr><th scope="row" class="infobox-label">Power consumption</th><td class="infobox-data">55 W<sup id="cite_ref-Hall-1996_2-0" class="reference"><a href="#cite_note-Hall-1996-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 120">: 120 </span></sup></td></tr><tr><th scope="row" class="infobox-label">Language</th><td class="infobox-data">AGC Assembly Language</td></tr><tr><th scope="row" class="infobox-label">Weight</th><td class="infobox-data">70&nbsp;lb (32&nbsp;kg)</td></tr><tr><th scope="row" class="infobox-label">Dimensions</th><td class="infobox-data">24&nbsp;in ×&nbsp;12.5&nbsp;in ×&nbsp;6.5&nbsp;in (61&nbsp;cm ×&nbsp;32&nbsp;cm ×&nbsp;17&nbsp;cm)</td></tr></tbody></table>
<p>The <b>Apollo Guidance Computer</b> (<b>AGC</b>) was a <a href="Digital_computer" class="mw-redirect" title="Digital computer">digital computer</a> produced for the <a href="Apollo_program" title="Apollo program">Apollo program</a> that was installed on board each <a href="Apollo_command_module" class="mw-redirect" title="Apollo command module">Apollo command module</a> (CM) and <a href="Apollo_Lunar_Module" title="Apollo Lunar Module">Apollo Lunar Module</a> (LM). The AGC provided computation and electronic interfaces for <a href="Apollo_PGNCS" title="Apollo PGNCS">guidance, navigation, and control</a> of the spacecraft.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The AGC was among the first computers based on <a href="Silicon" title="Silicon">silicon</a> <a href="Integrated_circuit" title="Integrated circuit">integrated circuits</a> (ICs).<sup id="cite_ref-:2_4-0" class="reference"><a href="#cite_note-:2-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:3_5-0" class="reference"><a href="#cite_note-:3-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> The computer's performance was comparable to the first generation of <a href="Home_computer" title="Home computer">home computers</a> from the late 1970s, such as the <a href="Apple_II" title="Apple II">Apple II</a>, <a href="TRS-80" title="TRS-80">TRS-80</a>, and <a href="Commodore_PET" title="Commodore PET">Commodore PET</a>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> At around 2 cubic feet in size, AGC held 4,100 IC packages.<sup id="cite_ref-:3_5-1" class="reference"><a href="#cite_note-:3-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>The AGC has a 16-bit <a href="Word_(computer_architecture)" title="Word (computer architecture)">word</a> length, with 15 data bits and one <a href="Parity_bit" title="Parity bit">parity bit</a>. Most of the software on the AGC is stored in a special <a href="Read-only_memory" title="Read-only memory">read-only memory</a> known as <a href="Core_rope_memory" title="Core rope memory">core rope memory</a>, fashioned by weaving wires through and around <a href="Magnetic_core" title="Magnetic core">magnetic cores</a>, though a small amount of read/write <a href="Core_memory" class="mw-redirect" title="Core memory">core memory</a> is available.
</p><p>Astronauts communicated with the AGC using a numeric display and keyboard called the DSKY (for "display and keyboard", pronounced "DIS-kee"). The AGC and its DSKY user interface were developed in the early 1960s for the Apollo program by the <a href="MIT_Instrumentation_Laboratory" class="mw-redirect" title="MIT Instrumentation Laboratory">MIT Instrumentation Laboratory</a> and first flew in 1966.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> The onboard AGC systems were secondary, as NASA conducted primary navigation with mainframe computers in Houston.<sup id="cite_ref-:1_8-0" class="reference"><a href="#cite_note-:1-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Operation">Operation</h2></div>
<p>In the earlier <a href="Project_Gemini" title="Project Gemini">Project Gemini</a> program, the astronauts flew manually with <a href="Control_stick" class="mw-redirect" title="Control stick">control sticks</a>. In the Apollo program however, the flight was controlled by the computer. The astronauts flew manually briefly during lunar landings.<sup id="cite_ref-agle199809_9-0" class="reference"><a href="#cite_note-agle199809-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> Each Moon flight carried two AGCs, one each in the <a href="Apollo_command_module" class="mw-redirect" title="Apollo command module">command module</a> and the <a href="Apollo_Lunar_Module" title="Apollo Lunar Module">Apollo Lunar Module</a>, with the exception of <a href="Apollo_7" title="Apollo 7">Apollo 7</a> which was an Earth orbit mission and <a href="Apollo_8" title="Apollo 8">Apollo 8</a> which did not need a lunar module for its lunar orbit mission. The AGC in the command module was the center of its guidance, navigation and control (GNC) system. The AGC in the lunar module ran its <a href="Apollo_PGNCS" title="Apollo PGNCS">Apollo PGNCS</a> (primary guidance, navigation and control system), with the acronym pronounced as <i>pings</i>.
</p>


<p>Each lunar mission had two additional computers:
</p>
<ul><li>The <a href="Launch_Vehicle_Digital_Computer" title="Launch Vehicle Digital Computer">Launch Vehicle Digital Computer</a> (LVDC) on the <a href="Saturn_V" title="Saturn V">Saturn V</a> booster instrumentation ring</li>
<li>the <a href="Abort_Guidance_System" class="mw-redirect" title="Abort Guidance System">Abort Guidance System</a> (AGS, pronounced <i>ags</i>) of the lunar module, to be used in the event of failure of the LM PGNCS. The AGS could be used to take off from the Moon, and to rendezvous with the command module, but not to land.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Design">Design</h2></div>



<p>The AGC was designed at the <a href="MIT_Instrumentation_Laboratory" class="mw-redirect" title="MIT Instrumentation Laboratory">MIT Instrumentation Laboratory</a> under <a href="Charles_Stark_Draper" title="Charles Stark Draper">Charles Stark Draper</a>, with hardware design led by <a href="Eldon_C._Hall" title="Eldon C. Hall">Eldon C. Hall</a>.<sup id="cite_ref-Hall-1996_2-1" class="reference"><a href="#cite_note-Hall-1996-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Early <a href="Computer_architecture" title="Computer architecture">architectural work</a> came from <a href="J._Halcombe_Laning" title="J. Halcombe Laning">J. H. Laning Jr.</a>, <a href="Albert_Hopkins_(computer_scientist)" class="mw-redirect" title="Albert Hopkins (computer scientist)">Albert Hopkins</a>, <a href="Richard_Battin" title="Richard Battin">Richard Battin</a>, Ramon Alonso,<sup id="cite_ref-mithist_10-0" class="reference"><a href="#cite_note-mithist-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-ray_alonso_interview_11-0" class="reference"><a href="#cite_note-ray_alonso_interview-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> and Hugh Blair-Smith.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
The flight hardware was fabricated by <a href="Raytheon" title="Raytheon">Raytheon</a>, whose Herb Thaler<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> was also on the architectural team.
</p><p>According to Kurinec et al, the chips were welded onto the boards rather than soldered as might be expected.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> Apollo Guidance Computer logic module drawings specify resistance-welding.<sup id="cite_ref-NASA1003074_15-0" class="reference"><a href="#cite_note-NASA1003074-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-ND1002005_16-0" class="reference"><a href="#cite_note-ND1002005-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Logic_hardware">Logic hardware</h3></div>
<p>Following the use of <a href="Integrated_circuit" title="Integrated circuit">integrated circuit</a> (IC) chips in the <a href="Interplanetary_Monitoring_Platform" title="Interplanetary Monitoring Platform">Interplanetary Monitoring Platform</a> (IMP) in 1963, IC technology was later adopted for the AGC.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> The Apollo flight computer was one of the first computers to use <a href="Silicon" title="Silicon">silicon</a> IC chips.<sup id="cite_ref-:2_4-1" class="reference"><a href="#cite_note-:2-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:1_8-1" class="reference"><a href="#cite_note-:1-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>While the Block I version used 4,100 ICs, each containing a single three-input <a href="NOR_gate" title="NOR gate">NOR gate</a>, the later Block II version (used in the crewed flights) used about 2,800 ICs, mostly dual three-input NOR gates and smaller numbers of expanders and sense amplifiers.<sup id="cite_ref-HALL-MITRole_18-0" class="reference"><a href="#cite_note-HALL-MITRole-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 27, 266">: 27, 266 </span></sup> The ICs, from <a href="Fairchild_Semiconductor" title="Fairchild Semiconductor">Fairchild Semiconductor</a>, were implemented using <a href="Resistor%E2%80%93transistor_logic" title="Resistor–transistor logic">resistor–transistor logic</a> (RTL) in a <a href="Flatpack_(electronics)" title="Flatpack (electronics)">flat-pack</a>. They were connected via <a href="Wire_wrap" title="Wire wrap">wire wrap</a>, and the wiring was then embedded in cast <a href="Epoxy" title="Epoxy">epoxy</a> plastic.<sup id="cite_ref-HALL-MITRole_18-1" class="reference"><a href="#cite_note-HALL-MITRole-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 129">: 129 </span></sup>
</p><p>The use of a single type of IC (the dual NOR3) throughout the AGC avoided problems that plagued another early IC computer design, the <a href="LGM-30_Minuteman" title="LGM-30 Minuteman">Minuteman II</a> <a href="D-37C" title="D-37C">guidance computer</a>, which used a mix of <a href="Diode%E2%80%93transistor_logic" title="Diode–transistor logic">diode–transistor logic</a> and <a href="Diode_logic" title="Diode logic">diode logic</a> gates. NOR gates are <a href="Logic_gate#Universal_logic_gates" title="Logic gate">universal logic gates</a> from which any other gate can be made, though at the cost of using more gates.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Memory">Memory</h3></div>
<p>The computer had 2,048 words of erasable <a href="Magnetic-core_memory" title="Magnetic-core memory">magnetic-core memory</a> and 36,864 words of <a href="Read-only_memory" title="Read-only memory">read-only</a> <a href="Core_rope_memory" title="Core rope memory">core rope memory</a>.<sup id="cite_ref-HALL-MITRole_18-2" class="reference"><a href="#cite_note-HALL-MITRole-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 27, 90–93">: 27, 90–93 </span></sup> Both had cycle times of 11.72&nbsp;microseconds.<sup id="cite_ref-HALL-MITRole_18-3" class="reference"><a href="#cite_note-HALL-MITRole-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 27">: 27 </span></sup> The memory word length was 16 bits: 15 bits of data and one odd-<a href="Parity_bit" title="Parity bit">parity bit</a>. The <a href="Central_processing_unit" title="Central processing unit">CPU</a>-internal <a href="16-bit" class="mw-redirect" title="16-bit">16-bit</a> word format was 14 bits of data, one <a href="Arithmetic_overflow" class="mw-redirect" title="Arithmetic overflow">overflow</a> bit, and one <a href="Sign_bit" title="Sign bit">sign bit</a> (<a href="Ones'_complement" title="Ones' complement">ones' complement</a> representation).<sup id="cite_ref-HALL-MITRole_18-4" class="reference"><a href="#cite_note-HALL-MITRole-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 35–37">: 35–37 </span></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="DSKY_interface"> DSKY interface</h3></div>


<p>The <a href="User_interface" title="User interface">user interface</a> to the AGC was the <i>DSKY</i>, standing for <i>display and keyboard</i> and usually pronounced <i>"DIS-kee".</i> It has an array of indicator lights, numeric displays, and a <a href="Calculator" title="Calculator">calculator</a>-style keyboard. Commands were entered numerically, as two-digit numbers: <a href="Verb" title="Verb">Verb</a> and <a href="Noun" title="Noun">Noun</a>. <i>Verb</i> described the type of action to be performed and <i>Noun</i> specified which data were affected by the action specified by the Verb command.
</p><p>Each digit was displayed via a green (specified as 530&nbsp;nm<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>) high-voltage <a href="Electroluminescent_display" title="Electroluminescent display">electroluminescent</a> <a href="Seven-segment_display" title="Seven-segment display">seven-segment display</a>; these were driven by electromechanical <a href="Relay" title="Relay">relays</a>, limiting the update rate. Three five-digit signed numbers could also be displayed in <a href="Octal" title="Octal">octal</a> or <a href="Decimal" title="Decimal">decimal</a>, and were typically used to display <a href="Vector_(geometry)" class="mw-redirect" title="Vector (geometry)">vectors</a> such as space craft <a href="Aircraft_attitude" class="mw-redirect" title="Aircraft attitude">attitude</a> or a required velocity change (<a href="Delta-V" class="mw-redirect" title="Delta-V">delta-V</a>). Although data was stored internally in <a href="International_System_of_Units" title="International System of Units">metric units</a>, they were displayed as <a href="United_States_customary_units" title="United States customary units">United States customary units</a>. This calculator-style interface was the first of its kind.
</p><p>The command module has two DSKYs connected to its AGC: one located on the main instrument panel and a second located in the lower equipment bay near a <a href="Sextant" title="Sextant">sextant</a> used for aligning the <a href="Inertial_guidance" class="mw-redirect" title="Inertial guidance">inertial guidance</a> platform. The lunar module had a single DSKY for its AGC. A <a href="Flight_director_(aviation)" class="mw-redirect" title="Flight director (aviation)">flight director attitude indicator</a> (FDAI), controlled by the AGC, was located above the DSKY on the commander's console and on the LM.
</p>
<div class="mw-heading mw-heading3"><h3 id="Timing">Timing</h3></div>
<p>The AGC timing reference came from a 2.048&nbsp;MHz <a href="Crystal_oscillator" title="Crystal oscillator">crystal</a> <a href="Clock_rate" title="Clock rate">clock</a>. The clock was divided by two to produce a <a href="Clock_signal#4-phase_clock" title="Clock signal">four-phase 1.024&nbsp;MHz clock</a> which the AGC used to perform internal operations. The 1.024&nbsp;MHz clock was also divided by two to produce a 512&nbsp;kHz signal called the <i>master frequency</i>; this signal was used to synchronize external Apollo spacecraft systems.
</p><p>The master frequency was further divided through a <i><a href="Clock_divider" class="mw-redirect" title="Clock divider">scaler</a></i>, first by five using a ring counter to produce a 102.4&nbsp;kHz signal. This was then divided by two through 17 successive stages called F1 (51.2&nbsp;kHz) through F17 (0.78125&nbsp;Hz). The F10 stage (100&nbsp;Hz) was fed back into the AGC to increment the <a href="Real-time_clock" title="Real-time clock">real-time clock</a> and other involuntary counters using Pinc (discussed below). The F17 stage was used to intermittently run the AGC when it was operating in the <i>standby</i> mode.
</p>
<div class="mw-heading mw-heading3"><h3 id="Central_registers">Central registers</h3></div>
<p>The AGC had four 16-bit <a href="Processor_register" title="Processor register">registers</a> for general computational use, called the <i>central registers</i>:
</p>
<ul><li><b>A</b>: The <a href="Accumulator_(computing)" title="Accumulator (computing)">accumulator</a>, for general computation</li>
<li><b>Z</b>: The <a href="Program_counter" title="Program counter">program counter</a> – the address of the next instruction to be executed</li>
<li><b>Q</b>: The remainder from the <code>DV</code> instruction, and the <a href="Return_address_(computing)" class="mw-redirect" title="Return address (computing)">return address</a> after <code>TC</code> instructions</li>
<li><b>LP</b>: The lower product after <code>MP</code> instructions</li></ul>
<p>There were also four locations in core memory, at addresses 20–23, dubbed <i>editing locations</i> because whatever was stored there would emerge shifted or rotated by one bit position, except for one that shifted right seven bit positions, to extract one of the seven-bit interpretive op. codes that were packed two to a word. This was common to Block I and Block II AGCs.
</p>
<div class="mw-heading mw-heading3"><h3 id="Other_registers">Other registers</h3></div>



<p>The AGC had additional registers that were used internally in the course of operation:
</p>
<ul><li><b>S</b>: 12-bit memory address register, the lower portion of the memory address</li>
<li><b>Bank/Fbank</b>: 4-bit ROM bank register, to select the 1&nbsp;<a href="Kiloword" class="mw-redirect" title="Kiloword">kiloword</a> ROM bank when addressing in the fixed-switchable mode</li>
<li><b>Ebank</b>: 3-bit RAM bank register, to select the 256-word RAM bank when addressing in the erasable-switchable mode</li>
<li><b>Sbank</b> (super-bank): 1-bit extension to Fbank, required because the last 4&nbsp;kilowords of the 36-kiloword ROM was not reachable using Fbank alone</li>
<li><b>SQ</b>: 4-bit sequence register; the current instruction</li>
<li><b>G</b>: 16-bit memory buffer register, to hold data words moving to and from memory</li>
<li><b>X</b>: The 'x' input to the <i>adder</i> (the adder was used to perform all <a href="Ones'_complement" title="Ones' complement">1's complement</a> arithmetic) or the increment to the program counter (<b>Z</b> register)</li>
<li><b>Y</b>: The other ('y') input to the adder</li>
<li><b>U</b>: Not really a register, but the output of the adder (the <a href="Ones'_complement" title="Ones' complement">ones' complement</a> sum of the contents of registers <b>X</b> and <b>Y</b>)</li>
<li><b>B</b>: General-purpose buffer register, also used to pre-fetch the next instruction. At the start of the next instruction, the upper bits of <b>B</b> (containing the next op. code) were copied to <b>SQ</b>, and the lower bits (the address) were copied to <b>S</b>.</li>
<li><b>C</b>: Not a separate register, but the ones' complement of the <b>B</b> register</li>
<li><b>IN</b>: Four 16-bit input registers</li>
<li><b>OUT</b>: Five 16-bit output registers</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Instruction_set">Instruction set</h3></div>
<p>The <a href="Instruction_set" class="mw-redirect" title="Instruction set">instruction format</a> used 3 bits for <a href="Opcode" title="Opcode">opcode</a>, and 12 bits for address. Block I had 11 instructions: <code>TC</code>, <code>CCS</code>, <code>INDEX</code>, <code>XCH</code>, <code>CS</code>, <code>TS</code>, <code>AD</code>, and <code>MASK</code> (basic), and <code>SU</code>, <code>MP</code>, and <code>DV</code> (extra). The first eight, called <i>basic instructions</i>, were directly accessed by the 3-bit op. code. The final three were denoted as <i>extracode instructions</i> because they were accessed by performing a special type of <code>TC</code> instruction (called <code>EXTEND</code>) immediately before the instruction.
</p><p>The Block I AGC instructions consisted of the following:
</p>
<dl><dt><code>TC</code> (transfer control)</dt>
<dd>An unconditional branch to the address specified by the instruction. The return address was automatically stored in the Q register, so the <code>TC</code> instruction could be used for subroutine calls.</dd>
<dt><code>CCS</code> (count, compare, and skip)</dt>
<dd>A complex conditional branch instruction. The A register was loaded with data retrieved from the address specified by the instruction. (Because the AGC uses <a href="Ones'_complement" title="Ones' complement">ones' complement</a> notation, there are two representations of zero. When all bits are set to zero, this is called <i>plus zero</i>. If all bits are set to one, this is called <i>minus zero</i>.) The <i>diminished absolute value</i> (DABS) of the data was then computed and stored in the A register. If the number was greater than zero, the DABS decrements the value by 1; if the number was negative, it is complemented before the decrement is applied—this is the absolute value. <i>Diminished</i> means "decremented but not below zero". Therefore, when the AGC performs the DABS function, positive numbers will head toward plus zero, and so will negative numbers but first revealing their negativity via the four-way skip below. The final step in <code>CCS</code> is a four-way skip, depending upon the data in register A before the DABS. If register A was greater than 0, <code>CCS</code> skips to the first instruction immediately after <code>CCS</code>. If register A contained plus zero, <code>CCS</code> skips to the second instruction after <code>CCS</code>. Less than zero causes a skip to the third instruction after <code>CCS</code>, and minus zero skips to the fourth instruction after <code>CCS</code>. The primary purpose of the count was to allow an ordinary loop, controlled by a positive counter, to end in a <code>CCS</code> and a <code>TC</code> to the beginning of the loop, equivalent to an <a href="System/360" class="mw-redirect" title="System/360">IBM 360</a>'s <code>BCT</code>. The absolute value function was deemed important enough to be built into this instruction; when used for only this purpose, the sequence after the <code>CCS</code> was <code>TC</code> *+2, <code>TC</code> *+2, <code>AD</code> ONE. A curious side effect was the creation and use of <i><code>CCS</code>-holes</i> when the value being tested was known to be never positive, which occurred more often than one might suppose. That left two whole words unoccupied, and a special committee was responsible for assigning data constants to these holes.</dd>
<dt><code>INDEX</code></dt>
<dd>Add the data retrieved at the address specified by the instruction to the next instruction. <code>INDEX</code> can be used to add or subtract an index value to the <a href="Base_address" title="Base address">base address</a> specified by the operand of the instruction that follows <code>INDEX</code>. This method is used to implement arrays and table look-ups; since the addition was done on both whole words, it was also used to modify the op. code in a following (extracode) instruction, and on rare occasions both functions at once.</dd>
<dt><code>RESUME</code></dt>
<dd>A special instance of <code>INDEX</code> (<code>INDEX</code> 25). This is the instruction used to return from interrupts. It causes execution to resume at the interrupted location.</dd>
<dt><code>XCH</code> (exchange)</dt>
<dd>Exchange the contents of memory with the contents of the A register. If the specified memory address is in fixed (read-only) memory, the memory contents are not affected, and this instruction simply loads register A. If it is in erasable memory, overflow "correction" is achieved by storing the leftmost of the 16 bits in A as the sign bit in memory, but there is no exceptional behavior like that of <code>TS</code>.</dd>
<dt><code>CS</code> (clear and subtract)</dt>
<dd>Load register A with the ones' complement of the data referenced by the specified memory address.</dd>
<dt><code>TS</code> (transfer to storage)</dt>
<dd>Store register A at the specified memory address. <code>TS</code> also detects, and corrects for, <a href="Arithmetic_overflow" class="mw-redirect" title="Arithmetic overflow">overflows</a> in such a way as to propagate a carry for multi-precision add/subtract. If the result has no overflow (leftmost 2 bits of A the same), nothing special happens; if there is overflow (those 2 bits differ), the leftmost one goes the memory as the sign bit, register A is changed to +1 or −1 accordingly, and control skips to the second instruction following the <code>TS</code>. Whenever overflow is a possible but abnormal event, the <code>TS</code> was followed by a <code>TC</code> to the no-overflow logic; when it is a normal possibility (as in multi-precision add/subtract), the <code>TS</code> is followed by <code>CAF</code> ZERO (<code>CAF</code> = <code>XCH</code> to fixed memory) to complete the formation of the carry (+1, 0, or −1) into the next higher-precision word. Angles were kept in <a href="Single_precision" class="mw-redirect" title="Single precision">single precision</a>, distances and velocities in <a href="Double_precision" class="mw-redirect" title="Double precision">double precision</a>, and elapsed time in triple precision.</dd>
<dt><code>AD</code> (add)</dt>
<dd>Add the contents of memory to register A and store the result in A. The 2 leftmost bits of A may be different (overflow state) before and/or after the <code>AD</code>. The fact that overflow is a state rather than an event forgives limited extents of overflow when adding more than two numbers, as long as none of the intermediate totals exceed twice the capacity of a word.</dd>
<dt><code>MASK</code></dt>
<dd>Perform a bit-wise (boolean) <i>and</i> of memory with register A and store the result in register A.</dd>
<dt><code>MP</code> (multiply)</dt>
<dd>Multiply the contents of register A by the data at the referenced memory address and store the high-order product in register A and the low-order product in register LP. The parts of the product agree in sign.</dd>
<dt><code>DV</code> (divide)</dt>
<dd>Divide the contents of register A by the data at the referenced memory address. Store the quotient in register A and the absolute value of the remainder in register Q. Unlike modern machines, <a href="Fixed-point_arithmetic" title="Fixed-point arithmetic">fixed-point numbers</a> were treated as fractions (notional decimal point just to right of the sign bit), so you could produce garbage if the divisor was not larger than the dividend; there was no protection against that situation. In the Block II AGC, a double-precision dividend started in A and L (the Block II LP), and the correctly signed remainder was delivered in L. That considerably simplified the subroutine for double precision division.</dd>
<dt><code>SU</code> (subtract)</dt>
<dd>Subtract (ones' complement) the data at the referenced memory address from the contents of register A and store the result in A.</dd></dl>
<p>Instructions were implemented in groups of 12 steps, called <i>timing pulses</i>. The timing pulses were named TP1 through TP12. Each set of 12 timing pulses was called an instruction <i>subsequence</i>. Simple instructions, such as TC, executed in a single subsequence of 12 pulses. More complex instructions required several subsequences. The multiply instruction (<code>MP</code>) used 8 subsequences: an initial one called <code>MP0</code>, followed by an <code>MP1</code> subsequence which was repeated 6 times, and then terminated by an <code>MP3</code> subsequence. This was reduced to 3 subsequences in Block II.
</p><p>Each timing pulse in a subsequence could trigger up to 5 <i>control pulses</i>. The control pulses were the signals which did the actual work of the instruction, such as reading the contents of a register onto the bus, or writing data from the bus into a register.
</p>
<div class="mw-heading mw-heading3"><h3 id="Memory_2">Memory</h3></div>

<p>Block I AGC memory was organized into 1 kiloword banks. The lowest bank (bank 0) was erasable memory (RAM). All banks above bank 0 were fixed memory (ROM). Each AGC instruction had a 12-bit address field. The lower bits (1-10) addressed the memory inside each bank. Bits 11 and 12 selected the bank: 00 selected the erasable memory bank; 01 selected the lowest bank (bank 1) of fixed memory; 10 selected the next one (bank 2); and 11 selected the <i>Bank</i> register that could be used to select any bank above 2. Banks 1 and 2 were called <i>fixed-fixed</i> memory, because they were always available, regardless of the contents of the Bank register. Banks 3 and above were called <i>fixed-switchable</i> because the selected bank was determined by the bank register.
</p><p>The Block I AGC initially had 12 kilowords of fixed memory, but this was later increased to 24 kilowords. Block II had 36 kilowords of fixed memory and 2 kilowords of erasable memory.
</p><p>The AGC transferred data to and from memory through the G register in a process called the <i>memory cycle</i>. The memory cycle took 12 timing pulses (11.72&nbsp;μs). The cycle began at timing pulse 1 (TP1) when the AGC loaded the memory address to be fetched into the S register. The memory hardware retrieved the data word from memory at the address specified by the S register. Words from erasable memory were deposited into the G register by timing pulse 6 (TP6); words from fixed memory were available by timing pulse 7. The retrieved memory word was then available in the G register for AGC access during timing pulses 7 through 10. After timing pulse 10, the data in the G register was written back to memory.
</p><p>The AGC memory cycle occurred continuously during AGC operation. Instructions needing memory data had to access it during timing pulses 7–10. If the AGC changed the memory word in the G register, the changed word was written back to memory after timing pulse 10. In this way, data words cycled continuously from memory to the G register and then back again to memory.
</p><p>The lower 15 bits of each memory word held AGC instructions or data, with each word being protected by a 16th odd parity bit. This bit was set to 1 or 0 by a parity generator circuit so a count of the 1s in each memory word would always produce an odd number. A parity checking circuit tested the parity bit during each memory cycle; if the bit didn't match the expected value, the memory word was assumed to be corrupted and a <i>parity alarm</i> panel light was illuminated.
</p>
<div class="mw-heading mw-heading3"><h3 id="Interrupts_and_involuntary_counters">Interrupts and involuntary counters</h3></div>
<p>The AGC had five vectored <a href="Interrupt" title="Interrupt">interrupts</a>:
</p>
<ul><li><i>Dsrupt</i> was triggered at regular intervals to update the user display (DSKY).</li>
<li><i>Erupt</i> was generated by various hardware failures or alarms.</li>
<li><i>Keyrupt</i> signaled a key press from the user's keyboard.</li>
<li><i>T3Rrupt</i> was generated at regular intervals from a hardware timer to update the AGC's <a href="Real-time_clock" title="Real-time clock">real-time clock</a>.</li>
<li><i>Uprupt</i> was generated each time a 16-bit word of uplink data was loaded into the AGC.</li></ul>
<p>The AGC responded to each interrupt by temporarily suspending the current program, executing a short interrupt service routine, and then resuming the interrupted program.
</p><p>The AGC also had 20 involuntary <a href="Counter_(digital)" title="Counter (digital)">counters</a>. These were memory locations which functioned as up/down counters, or shift registers. The counters would increment, decrement, or shift in response to internal inputs. The increment (<i>Pinc</i>), decrement (<i>Minc</i>), or shift (<i>Shinc</i>) was handled by one subsequence of microinstructions inserted between any two regular instructions.
</p><p>Interrupts could be triggered when the counters overflowed. The T3rupt and Dsrupt interrupts were produced when their counters, driven by a 100&nbsp;Hz hardware clock, overflowed after executing many Pinc subsequences. The Uprupt interrupt was triggered after its counter, executing the Shinc subsequence, had shifted 16&nbsp;bits of uplink data into the AGC.
</p>
<div class="mw-heading mw-heading3"><h3 id="Standby_mode">Standby mode</h3></div>
<p>The AGC had a power-saving mode controlled by a <i>standby allowed</i> switch. This mode turned off the AGC power, except for the 2.048&nbsp;MHz clock and the scaler. The F17 signal from the scaler turned the AGC power and the AGC back on at 1.28 second intervals. In this mode, the AGC performed essential functions, checked the standby allowed switch, and, if still enabled, turned off the power and went back to sleep until the next F17 signal.
</p><p>In the standby mode, the AGC slept most of the time; therefore it was not awake to perform the Pinc instruction needed to update the AGC's real time clock at 10&nbsp;ms intervals. To compensate, one of the functions performed by the AGC each time it awoke in the standby mode was to update the real time clock by 1.28 seconds.
</p><p>The standby mode was designed to reduce power by 5 to 10&nbsp;W (from 70&nbsp;W) during midcourse flight when the AGC was not needed. However, in practice, the AGC was left on during all phases of the mission and this feature was never used.
</p>
<div class="mw-heading mw-heading3"><h3 id="Data_buses">Data buses</h3></div>
<p>The AGC had a 16-bit read bus and a 16-bit write bus. Data from central registers (A, Q, Z, or LP), or other internal registers could be gated onto the read bus with a control signal. The read bus connected to the write bus through a non-inverting buffer, so any data appearing on the read bus also appeared on the write bus. Other control signals could copy write bus data back into the registers.
</p><p>Data transfers worked like this: To move the address of the next instruction from the B register to the S register, an RB (read B) control signal was issued; this caused the address to move from register B to the read bus, and then to the write bus. A WS (write S) control signal moved the address from the write bus into the S register.
</p><p>Several registers could be read onto the read bus simultaneously. When this occurred, data from each register was inclusive-<i>OR</i>ed onto the bus. This inclusive-<i>OR</i> feature was used to implement the Mask instruction, which was a logical <i>AND</i> operation. Because the AGC had no native ability to do a logical <i>AND</i>, but could do a logical <i>OR</i> through the bus and could complement (invert) data through the C register, <a href="De_Morgan's_laws" title="De Morgan's laws">De Morgan's theorem</a> was used to implement the equivalent of a logical <i>AND</i>. This was accomplished by inverting both operands, performing a logical <i>OR</i> through the bus, and then inverting the result.
</p>
<div class="mw-heading mw-heading3"><h3 id="Software">Software</h3></div>

<p>AGC software was written in AGC <a href="Assembly_language" title="Assembly language">assembly language</a> and stored on <a href="Rope_memory" class="mw-redirect" title="Rope memory">rope memory</a>. The bulk of the software was on read-only rope memory and thus could not be changed in operation,<sup id="cite_ref-FOOTNOTEMindell2008154,_157_22-0" class="reference"><a href="#cite_note-FOOTNOTEMindell2008154,_157-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> but some key parts of the software were stored in standard read-write <a href="Magnetic-core_memory" title="Magnetic-core memory">magnetic-core memory</a> and could be overwritten by the astronauts using the DSKY interface, as was done on <a href="Apollo_14" title="Apollo 14">Apollo 14</a>.
</p><p>A simple <a href="Real-time_operating_system" title="Real-time operating system">real-time operating system</a> designed by <a href="J._Halcombe_Laning" title="J. Halcombe Laning">J. Halcombe Laning</a><sup id="cite_ref-Hoag_23-0" class="reference"><a href="#cite_note-Hoag-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> consisting of the 'Exec', a batch job-scheduling using <a href="Cooperative_multitasking" title="Cooperative multitasking">cooperative multi-tasking</a>,<sup id="cite_ref-FOOTNOTEMindell2008149_24-0" class="reference"><a href="#cite_note-FOOTNOTEMindell2008149-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> and an <a href="Interrupt" title="Interrupt">interrupt</a>-driven <a href="Fixed-priority_pre-emptive_scheduling" title="Fixed-priority pre-emptive scheduling">pre-emptive scheduler</a> called the 'Waitlist' which scheduled timer-driven 'tasks', controlled the computer. Tasks were short threads of execution which could reschedule themselves for re-execution on the Waitlist, or could kick off a longer operation by starting a 'job' with the Exec. Calculations were carried out using the <a href="Metric_system" title="Metric system">metric system</a>, but display readouts were in units of feet, feet per second, and nautical miles – units that the Apollo astronauts were accustomed to.<sup id="cite_ref-metric_25-0" class="reference"><a href="#cite_note-metric-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
</p><p>The AGC had a sophisticated software interpreter, developed by the <a href="MIT_Instrumentation_Laboratory" class="mw-redirect" title="MIT Instrumentation Laboratory">MIT Instrumentation Laboratory</a>, that implemented a <a href="Virtual_machine" title="Virtual machine">virtual machine</a> with more complex and capable pseudo-instructions than the native AGC. These instructions simplified the navigational programs. Interpreted code, which featured double precision <a href="Trigonometry" title="Trigonometry">trigonometric</a>, scalar and vector arithmetic (16 and 24-bit), even an <code>MXV</code> (matrix × vector) instruction, could be mixed with native AGC code. While the execution time of the pseudo-instructions was increased (due to the need to interpret these instructions at runtime) the interpreter provided many more instructions than AGC natively supported and the memory requirements were much lower than in the case of adding these instructions to the AGC native language which would require additional memory built into the computer (in <a href="History_of_computing_hardware_(1960s%E2%80%93present)#Third_generation" title="History of computing hardware (1960s–present)">the 1960s</a> memory was very expensive). The average pseudo-instruction required about 24 ms to execute. The assembler, named <i>YUL</i> for an early prototype <i>Christmas Computer</i>,<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> enforced proper transitions between native and interpreted code.
</p><p>A set of interrupt-driven user interface routines called 'Pinball' provided keyboard and display services for the jobs and tasks running on the AGC. A set of user-accessible routines were provided to let the astronauts display the contents of various memory locations in <a href="Octal" title="Octal">octal</a> or decimal in groups of 1, 2, or 3 registers at a time. 'Monitor' routines were provided so the operator could initiate a task to periodically redisplay the contents of certain memory locations. Jobs could be initiated.
</p><p>The design principles developed for the AGC by <a href="MIT_Instrumentation_Laboratory" class="mw-redirect" title="MIT Instrumentation Laboratory">MIT Instrumentation Laboratory</a>, directed in late 1960s by <a href="Charles_Stark_Draper" title="Charles Stark Draper">Charles Draper</a>, became foundational to <a href="Software_engineering" title="Software engineering">software engineering</a>—particularly for the design of more reliable systems that relied on <a href="Asynchrony_(computer_programming)" title="Asynchrony (computer programming)">asynchronous software</a>, <a href="Scheduling_(computing)#Priority_scheduling" title="Scheduling (computing)">priority scheduling</a>, testing, and <a href="Human-in-the-loop" title="Human-in-the-loop">human-in-the-loop</a> decision capability.<sup id="cite_ref-apolo11_27-0" class="reference"><a href="#cite_note-apolo11-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> When the design requirements for the AGC were defined, necessary software and programming techniques did not exist so they had to be designed from scratch. Many of the trajectory and guidance algorithms used were based on earlier work by <a href="Richard_Battin" title="Richard Battin">Richard Battin</a>.<sup id="cite_ref-Hoag_23-1" class="reference"><a href="#cite_note-Hoag-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> The first command module flight was controlled by a software package called CORONA whose development was led by Alex Kosmala. Software for lunar missions consisted of COLOSSUS for the command module, whose development was led by Frederic Martin, and LUMINARY<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> on the lunar module led by George Cherry. Details of these programs were implemented by a team under the direction of <a href="Margaret_Hamilton_(scientist)" class="mw-redirect" title="Margaret Hamilton (scientist)">Margaret Hamilton</a>.<sup id="cite_ref-:0_29-0" class="reference"><a href="#cite_note-:0-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> Hamilton was very interested in how the astronauts would interact with the software and predicted the types of errors that could occur due to human error.<sup id="cite_ref-FOOTNOTEMindell2008149_24-1" class="reference"><a href="#cite_note-FOOTNOTEMindell2008149-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:0_29-1" class="reference"><a href="#cite_note-:0-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> In total, software development on the project comprised 1400 <a href="Person-years" class="mw-redirect" title="Person-years">person-years</a> of effort, with a peak workforce of 350 people.<sup id="cite_ref-Hoag_23-2" class="reference"><a href="#cite_note-Hoag-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> In 2016, Hamilton received the <a href="List_of_Presidential_Medal_of_Freedom_recipients#Computing" title="List of Presidential Medal of Freedom recipients">Presidential Medal of Freedom</a> for her role in creating the flight software.
</p><p>The Apollo Guidance Computer software influenced the design of <a href="Skylab" title="Skylab">Skylab</a>, <a href="Space_Shuttle" title="Space Shuttle">Space Shuttle</a> and early fly-by-wire fighter aircraft systems.<sup id="cite_ref-klabs_30-0" class="reference"><a href="#cite_note-klabs-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-50th_31-0" class="reference"><a href="#cite_note-50th-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>
</p><p>The Apollo Guidance computer has been called "The fourth astronaut" for its role in helping the three astronauts who relied on it: <a href="Neil_Armstrong" title="Neil Armstrong">Neil Armstrong</a>, <a href="Buzz_Aldrin" title="Buzz Aldrin">Buzz Aldrin</a> and <a href="Michael_Collins_(astronaut)" title="Michael Collins (astronaut)">Michael Collins</a>.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Block_II">Block II</h2></div>
<p>A Block II version of the AGC was designed in 1966. It retained the basic Block I architecture, but increased erasable memory from 1 to 2 kilowords. Fixed memory was expanded from 24 to 36 kilowords. Instructions were expanded from 11 to 34 and I/O channels were implemented to replace the I/O registers on Block I. The Block II version is the one that actually flew to the moon. Block I was used during the uncrewed <a href="Apollo_4" title="Apollo 4">Apollo 4</a> and <a href="Apollo_6" title="Apollo 6">6</a> flights, and was on board the ill-fated <a href="Apollo_1" title="Apollo 1">Apollo 1</a>.
</p><p>The decision to expand the memory and instruction set for Block II, but to retain the Block I's restrictive three-bit op. code and 12-bit address had interesting design consequences. Various tricks were employed to squeeze in additional instructions, such as having special memory addresses which, when referenced, would implement a certain function. For instance, an <code>INDEX</code> to address 25 triggered the <code>RESUME</code> instruction to return from an interrupt. Likewise, <code>INDEX</code> 17 performed an <code>INHINT</code> instruction (inhibit interrupts), while <code>INDEX</code> 16 reenabled them (<code>RELINT</code>). Other instructions were implemented by preceding them with a special version of <code>TC</code> called <code>EXTEND</code>. The address spaces were extended by employing the Bank (fixed) and Ebank (erasable) registers, so the only memory of either type that could be addressed at any given time was the current bank, plus the small amount of fixed-fixed memory and the erasable memory. In addition, the bank register could address a maximum of 32 kilowords, so an Sbank (super-bank) register was required to access the last 4 kilowords. All across-bank subroutine calls had to be initiated from fixed-fixed memory through special functions to restore the original bank during the return: essentially a system of <a href="Far_pointer" title="Far pointer">far pointers</a>.
</p><p>The Block II AGC also has the <code>EDRUPT</code> instruction (the name is a contraction of <i>Ed's Interrupt</i>, after Ed Smally, the programmer who requested it). This instruction does not generate an interrupt, rather it performs two actions that are common to interrupt processing. The first action, inhibits further interrupts (and requires a <code>RESUME</code> instruction to enable them again). In the second action, the <code>ZRUPT</code> register is loaded with the current value of the program counter (Z). It was only used once in the Apollo software, for setting up the DAP cycle termination sequence in the Digital Autopilot of the <a href="Lunar_module" title="Lunar module">lunar module</a>.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> It is believed to be responsible for problems emulating the LEM AGC Luminary software.
</p>
<div class="mw-heading mw-heading2"><h2 id="1201_and_1202_program_alarms">1201 and 1202 program alarms</h2></div>

<p><a href="Apollo_PGNCS" title="Apollo PGNCS">PGNCS</a> generated unanticipated warnings during <a href="Apollo_11#Lunar_descent" title="Apollo 11">Apollo 11's lunar descent</a>, with the AGC showing a <i>1202 alarm</i> ("Executive overflow - NO CORE SETS"),<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> and then a <i>1201 alarm</i> ("Executive overflow - NO VAC AREAS").<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> The response of the AGC to either alarm was a soft restart. The cause was a rapid, steady stream of spurious <a href="Cycle_stealing" title="Cycle stealing">cycle steals</a> from the rendezvous radar (tracking the orbiting command module), intentionally left on standby during the descent in case it was needed for an abort.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup>
</p><p>During this part of the approach, the processor would normally be almost 85% loaded. The extra 6,400 cycle steals per second added the equivalent of 13% load, leaving just enough time for all scheduled tasks to run to completion. Five minutes into the descent, Buzz Aldrin gave the computer the command <i>1668</i>, which instructed it to periodically calculate and display DELTAH (the difference between altitude sensed by the radar and the computed altitude).<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>nb 1<span class="cite-bracket">]</span></a></sup> The <i>1668</i> added another 10% to the processor workload, causing executive overflow and a <i>1202</i> alarm. After being given the "GO" from Houston, Aldrin entered <i>1668</i> again and another <i>1202</i> alarm occurred. When reporting the second alarm, Aldrin added the comment "It appears to come up when we have a <i>1668</i> up". The AGC software had been designed with priority scheduling, and automatically recovered, deleting lower priority tasks including the <i>1668</i> display task, to complete its critical guidance and control tasks. Guidance controller <a href="Steve_Bales" title="Steve Bales">Steve Bales</a> and his support team that included <a href="Jack_Garman" title="Jack Garman">Jack Garman</a> issued several "GO" calls and the landing was successful.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>
</p><p>The problem was not a programming error in the AGC, nor was it pilot error. It was a peripheral hardware design bug that had already been known and documented by Apollo 5 engineers.<sup id="cite_ref-tales-from-the-lunar-module-guidance-computer_40-0" class="reference"><a href="#cite_note-tales-from-the-lunar-module-guidance-computer-40"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> However, because the problem had only occurred once during testing, they concluded that it was safer to fly with the existing hardware that they had already tested, than to fly with a newer but largely untested radar system. In the actual hardware, the position of the rendezvous radar was encoded with <a href="Synchro" title="Synchro">synchros</a> excited by a different source of 800&nbsp;Hz AC than the one used by the computer as a timing reference. The two 800&nbsp;Hz sources were frequency locked but not phase locked, and the small random phase variations made it appear as though the antenna was rapidly "dithering" in position, even though it was completely stationary. These phantom movements generated the rapid series of cycle steals. It was caused by a radar switch set incorrectly, causing the cycle steals and thus a <i>1202.</i>
</p><p><a href="J._Halcombe_Laning" title="J. Halcombe Laning">J. Halcombe Laning</a>'s software and computer design saved the Apollo 11 landing mission. Had it not been for Laning's design, the landing would have been aborted for lack of a stable guidance computer.<sup id="cite_ref-tales-from-the-lunar-module-guidance-computer_40-1" class="reference"><a href="#cite_note-tales-from-the-lunar-module-guidance-computer-40"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Applications_outside_Apollo">Applications outside Apollo</h2></div>

<p>The AGC formed the basis of an experimental <a href="Fly-by-wire" title="Fly-by-wire">fly-by-wire (FBW)</a> system installed into an <a href="F-8_Crusader" class="mw-redirect" title="F-8 Crusader">F-8 Crusader</a> to demonstrate the practicality of computer driven FBW. The AGC used in the first phase of the program was replaced with another machine in the second phase, and research done on the program led to the development of fly-by-wire systems for the <a href="Space_Shuttle" title="Space Shuttle">Space Shuttle</a>. The AGC also led, albeit indirectly, to the development of fly-by-wire systems for the generation of fighters that were being developed at the time.<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Source_code_release">Source code release</h2></div>
<p>In 2003, Ron Burkey initiated the Virtual AGC Project, aiming to recover the Apollo Guidance Computer (AGC) source code and build a functional emulator.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> As part of this project, the original code, transcribed and digitized from 1960s hard copies,<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> was made available through the <a rel="nofollow" class="external text" href="http://ibiblio.org/apollo/index.html">Virtual AGC Project</a> and <a href="MIT_Museum" title="MIT Museum">MIT Museum</a>.<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> This effort gained renewed attention in mid-2016 when former NASA intern Chris Garry uploaded the code to GitHub, generating significant media attention.<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Apollo_PGNCS" title="Apollo PGNCS">Apollo PGNCS</a> - the Apollo Primary Guidance and Navigation System</li>
<li><a href="AP-101" class="mw-redirect" title="AP-101">AP-101</a> (IBM S/360-derived) computers used in the <a href="Space_Shuttle_program" title="Space Shuttle program">Space Shuttle</a></li>
<li><a href="Gemini_Guidance_Computer" title="Gemini Guidance Computer">Gemini Guidance Computer</a></li>
<li><a href="History_of_computing_hardware_(1960s-present)" class="mw-redirect" title="History of computing hardware (1960s-present)">History of computer hardware</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text">More specifically, verb 16 instructs the AGC to print the <i>noun</i> (in this case, 68, DELTAH) approximately twice per second. Had Aldrin known this, a simple <i>0668</i> (calculate and display DELTAH, once) would have only added approximately 5% load to the system, and would have only done so once, when ENTER was pressed.</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://www.ibiblio.org/apollo/assembly_language_manual.html"><i>Programmer's Manual, Block 2 AGC Assembly Language</i></a><span class="reference-accessdate">, retrieved <span class="nowrap">2018-08-27</span></span></cite></span>
</li>
<li id="cite_note-Hall-1996-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hall-1996_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hall-1996_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHall1996" class="citation cs2"><a href="Eldon_C._Hall" title="Eldon C. Hall">Hall, Eldon C.</a> (1996), <i>Journey to the Moon: The History of the Apollo Guidance Computer</i>, Reston, Virginia, USA: <a href="American_Institute_of_Aeronautics_and_Astronautics" title="American Institute of Aeronautics and Astronautics">AIAA</a>, p.&nbsp;196, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>1-56347-185-X</bdi></cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFInterbartolo2009" class="citation web cs1">Interbartolo, Michael (January 2009). <a rel="nofollow" class="external text" href="https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20090016290.pdf">"Apollo Guidance, Navigation and Control Hardware Overview"</a> <span class="cs1-format">(PDF)</span>.</cite></span>
</li>
<li id="cite_note-:2-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-:2_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:2_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.computerhistory.org/siliconengine/aerospace-systems-are-first-the-applications-for-ics-in-computers/">"1962: Aerospace systems are the first applications for ICs in computers"</a>. <i>Computer History Museum</i>. 2025<span class="reference-accessdate">. Retrieved <span class="nowrap">March 13,</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-:3-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-:3_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:3_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFtluong2019" class="citation web cs1">tluong (2019-07-17). <a rel="nofollow" class="external text" href="https://computerhistory.org/blog/silicon-chips-take-man-to-the-moon/">"Silicon Chips Take Man to the Moon"</a>. <i>CHM</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2025-03-31</span></span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://curious-droid.com/214/apollo-flight-computers-get-men-moon-back/">"How did the Apollo flight computers get men to the moon and back&nbsp;?"</a>. 11 March 2017.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFJames_E._Tomayko1988" class="citation web cs1">James E. Tomayko (1988). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231229162736/https://history.nasa.gov/computers/Ch2-5.html">"The Apollo guidance computer: Hardware"</a>. <i>Computers in Spaceflight: The NASA Experience</i>. NASA. Archived from <a rel="nofollow" class="external text" href="https://history.nasa.gov/computers/Ch2-5.html">the original</a> on December 29, 2023.</cite></span>
</li>
<li id="cite_note-:1-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-:1_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:1_8-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://airandspace.si.edu/stories/editorial/apollo-guidance-computer-and-first-silicon-chips">"Apollo Guidance Computer and the First Silicon Chips"</a>. <i><a href="National_Air_and_Space_Museum" title="National Air and Space Museum">National Air and Space Museum</a></i>. <a href="Smithsonian_Institution" title="Smithsonian Institution">Smithsonian Institution</a>. 14 October 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">1 September</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-agle199809-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-agle199809_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFAgle1998" class="citation magazine cs1">Agle, D.C. (September 1998). <a rel="nofollow" class="external text" href="https://www.airspacemag.com/flight-today/flying-the-gusmobile-218187/">"Flying the Gusmobile"</a>. <i>Air &amp; Space</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2018-12-15</span></span>.</cite></span>
</li>
<li id="cite_note-mithist-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-mithist_10-0">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference1/alonso-intro.htm">"Ramon Alonso's introduction"</a>, <i>AGC History Project (Caltech archive, original site closed)</i>, MIT, July 27, 2001<span class="reference-accessdate">, retrieved <span class="nowrap">2009-08-30</span></span></cite></span>
</li>
<li id="cite_note-ray_alonso_interview-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-ray_alonso_interview_11-0">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="http://www.lanacion.com.ar/nota.asp?nota_id=1240769">"Ramon Alonso's interview (Spanish)"</a>, <i>Ramón Alonso, el argentino que llevó a la Apollo 11 a la Luna</i>, Diario La Nacion, March 7, 2010</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">
<cite class="citation cs2"><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/people/hblairsmith.htm">"Hugh Blair-Smith biography"</a>, <i>AGC History Project (Caltech archive, original site closed)</i>, MIT, January 2002<span class="reference-accessdate">, retrieved <span class="nowrap">2009-08-30</span></span></cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference2/thaler-intro.htm">"Herb Thaler introduction"</a>, <i>AGC History Project (Caltech archive, original site closed)</i>, MIT, 14 September 2001<span class="reference-accessdate">, retrieved <span class="nowrap">2009-08-30</span></span></cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite id="CITEREFKurinecIndovinaMcNultySeitz2021" class="citation web cs1">Kurinec, Santosh K; Indovina, Mark; McNulty, Karl; Seitz, Matthew (2021). <a rel="nofollow" class="external text" href="https://www.rit.edu/imagine/exhibit-extras/Apollo-Guidance-Computer-ImagineRIT-SKurinec.pdf">"Recreating History: Making the Chip that went on the Moon in 1969 on Apollo 11"</a> <span class="cs1-format">(PDF)</span>. <i>Rochester Institute of Technology</i>. p.&nbsp;9<span class="reference-accessdate">. Retrieved <span class="nowrap">29 August</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-NASA1003074-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-NASA1003074_15-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://archive.org/details/AgcApertureCardsBatch8Images/page/n4/mode/1up?view=theater">"LOGIC MODULE ASSEMBLY NO. A1-A16"</a>. MIT Instrumentation Lab. July 11, 1963. p.&nbsp;Sheet 1 of 2, Note 2.</cite></span>
</li>
<li id="cite_note-ND1002005-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-ND1002005_16-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://archive.org/details/aperturecardbox432naraswimages/page/n815/mode/1up?view=theater">"Apollo Requirements for Process Control and Fabrication of Resistance-Welded Electronic Circuit Modules and Assemblies"</a>. <i>Archive.org</i>. NASA. May 22, 1963<span class="reference-accessdate">. Retrieved <span class="nowrap">19 February</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite id="CITEREFButrica2015" class="citation book cs1">Butrica, Andrew J. (2015). "Chapter 3: NASA's Role in the Manufacture of Integrated Circuits". In Dick, Steven J. (ed.). <a rel="nofollow" class="external text" href="https://www.nasa.gov/sites/default/files/atoms/files/historical-studies-societal-impact-spaceflight-ebook_tagged.pdf"><i>Historical Studies in the Societal Impact of Spaceflight</i></a> <span class="cs1-format">(PDF)</span>. <a href="NASA" title="NASA">NASA</a>. pp.&nbsp;<span class="nowrap">149–</span>250. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-62683-027-1</bdi>.</cite></span>
</li>
<li id="cite_note-HALL-MITRole-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-HALL-MITRole_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-HALL-MITRole_18-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-HALL-MITRole_18-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-HALL-MITRole_18-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-HALL-MITRole_18-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHall1972" class="citation book cs1">Hall, Eldon C. (1972). <a rel="nofollow" class="external text" href="http://ibiblio.org/apollo/hrst/archive/1029.pdf"><i>MIT's Role in Project Apollo: Final report on contracts NAS 9-163 and NAS 94065</i></a> <span class="cs1-format">(PDF)</span>. Cambridge, MA: MIT<span class="reference-accessdate">. Retrieved <span class="nowrap">15 June</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">Peirce, C. S. (manuscript winter of 1880–81), "A Boolian Algebra with One Constant", published 1933 in <i><a href="Charles_Sanders_Peirce_bibliography#CP" title="Charles Sanders Peirce bibliography">Collected Papers</a></i> v. 4, paragraphs 12–20. Reprinted 1989 in <i><a href="Charles_Sanders_Peirce_bibliography#W" title="Charles Sanders Peirce bibliography">Writings of Charles S. Peirce</a></i> v. 4, pp. 218–21, Google <a rel="nofollow" class="external autonumber" href="https://archive.org/details/writingsofcharle0002peir/page/218">[1]</a>. See Roberts, Don D. (2009), <i>The Existential Graphs of Charles S. Peirce</i>, p. 131.</span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=feRCZyLzAwA?t=1405">"Apollo DSKY panel relight: The full story"</a>. <i><a href="YouTube" title="YouTube">YouTube</a></i>. 27 July 2021.</cite></span>
</li>
<li id="cite_note-Weinstock2016-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-Weinstock2016_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFWeinstock2016" class="citation web cs1">Weinstock, Maia (2016-08-17). <a rel="nofollow" class="external text" href="https://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apollo-code-0817">"Scene at MIT: Margaret Hamilton's Apollo code"</a>. <i>MIT News</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-08-17</span></span>.</cite></span>
</li>
<li id="cite_note-FOOTNOTEMindell2008154,_157-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEMindell2008154,_157_22-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFMindell2008">Mindell 2008</a>, pp.&nbsp;154, 157.</span>
</li>
<li id="cite_note-Hoag-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hoag_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hoag_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Hoag_23-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHoag1976" class="citation web cs1">Hoag, David (September 1976). <a rel="nofollow" class="external text" href="http://klabs.org/history/history_docs/mit_docs/1711.pdf">"The History of Apollo On-board Guidance, Navigation, and Control"</a> <span class="cs1-format">(PDF)</span>. Charles Stark Draper Laboratory.</cite></span>
</li>
<li id="cite_note-FOOTNOTEMindell2008149-24"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEMindell2008149_24-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEMindell2008149_24-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFMindell2008">Mindell 2008</a>, p.&nbsp;149.</span>
</li>
<li id="cite_note-metric-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-metric_25-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ukma.org.uk/why-metric/myths/metric-internationally/the-moon-landings/">"The Moon landings"</a>. UK Metric Association. 18 October 2018.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference3/blairsmith.htm">"Hugh Blair-Smith's Introduction"</a>, <i>AGC History Project (Caltech archive, original site closed)</i>, MIT, 30 November 2001<span class="reference-accessdate">, retrieved <span class="nowrap">2010-03-21</span></span></cite></span>
</li>
<li id="cite_note-apolo11-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-apolo11_27-0">^</a></b></span> <span class="reference-text"><cite class="citation pressrelease cs1"><a rel="nofollow" class="external text" href="https://www.nasa.gov/history/alsj/a11/a11Hamilton.html">"NASA Honors Apollo Engineer"</a> (Press release). September 3, 2003.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.ibiblio.org/apollo/Luminary.html">"Virtual AGC Luminary Page"</a>.</cite></span>
</li>
<li id="cite_note-:0-29"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_29-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_29-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHarvey_IV2015" class="citation magazine cs1">Harvey IV, Harry Gould (13 October 2015). <a rel="nofollow" class="external text" href="https://www.wired.com/2015/10/margaret-hamilton-nasa-apollo/">"Her Code Got Humans on the Moon—And Invented Software Itself"</a>. <i>WIRED</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2018-11-25</span></span>.</cite></span>
</li>
<li id="cite_note-klabs-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-klabs_30-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://klabs.org/home_page/hamilton.htm">"About Margaret Hamilton"</a>. NASA Office of Logic Design. February 3, 2010.</cite></span>
</li>
<li id="cite_note-50th-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-50th_31-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFA.J.S._Rayl" class="citation web cs1">A.J.S. Rayl. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160516060422/http://www.nasa.gov/50th/50th_magazine/scientists.html">"NASA Engineers and Scientists-Transforming Dreams Into Reality"</a>. Archived from <a rel="nofollow" class="external text" href="https://www.nasa.gov/50th/50th_magazine/scientists.html">the original</a> on May 16, 2016.</cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite id="CITEREFFong2019" class="citation web cs1">Fong, Kevin (2019). <a rel="nofollow" class="external text" href="https://www.bbc.co.uk/programmes/w3csz4dn">"13 minutes to the moon: Episode 5 The fourth astronaut"</a>. <i>bbc.co.uk</i>. <a href="BBC_World_Service" title="BBC World Service">BBC World Service</a>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite id="CITEREFO'Brien2010" class="citation book cs1">O'Brien, Frank (2010-06-25). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=3fKzL0HfJp4C&amp;q=edrupt+instruction&amp;pg=PA95"><i>The Apollo Guidance Computer: Architecture and Operation</i></a>. Springer Science &amp; Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-4419-0877-3</bdi>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite id="CITEREFCollinsAldrin1975" class="citation cs2">Collins, Michael; Aldrin, Edwin (1975), Cortright, Edgar M. (ed.), <a rel="nofollow" class="external text" href="https://history.nasa.gov/SP-350/ch-11-4.html">"A Yellow Caution Light"</a>, <i>NASA SP-350, Apollo Expeditions to the Moon</i>, Washington, DC: NASA, pp.&nbsp;Chapter 11.4, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0486471754</bdi><span class="reference-accessdate">, retrieved <span class="nowrap">2009-08-30</span></span></cite></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/EXECUTIVE.agc#L146">"chrislgarry/Apollo-11"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-07-17</span></span>.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite id="CITEREFAdler1998" class="citation cs2">Adler, Peter (1998), Jones, Eric M. (ed.), <a rel="nofollow" class="external text" href="https://www.nasa.gov/history/alsj/a11/a11.1201-pa.html">"Apollo 11 Program Alarms"</a>, <i>Apollo 11 Lunar Surface Journal</i>, NASA<span class="reference-accessdate">, retrieved <span class="nowrap">2009-09-01</span></span></cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite id="CITEREFMartin1994" class="citation cs2">Martin, Fred H. (July 1994), Jones, Eric M. (ed.), <a rel="nofollow" class="external text" href="https://www.nasa.gov/history/alsj/a11/a11.1201-fm.html">"Apollo 11&nbsp;: 25 Years Later"</a>, <i>Apollo 11 Lunar Surface Journal</i>, NASA<span class="reference-accessdate">, retrieved <span class="nowrap">2009-09-01</span></span></cite></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite id="CITEREFCortright1975" class="citation cs2">Cortright, Edgar M., ed. (1975), <a rel="nofollow" class="external text" href="http://www.abc.net.au/science/moon/computer.htm">"The Lunar Module Computer"</a>, <i>Apollo 11 Lunar Surface Journal</i>, NASA<span class="reference-accessdate">, retrieved <span class="nowrap">2010-02-04</span></span></cite></span>
</li>
<li id="cite_note-tales-from-the-lunar-module-guidance-computer-40"><span class="mw-cite-backlink">^ <a href="#cite_ref-tales-from-the-lunar-module-guidance-computer_40-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-tales-from-the-lunar-module-guidance-computer_40-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">
<cite id="CITEREFEyles2004" class="citation cs2">Eyles, Don (February 6, 2004), <a rel="nofollow" class="external text" href="http://klabs.org/history/apollo_11_alarms/eyles_2004/eyles_2004.htm">"Tales From The Lunar Module Guidance Computer"</a>, <i>27th annual Guidance and Control Conference</i>, Breckenridge, Colorado: American Astronautical Society</cite></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite id="CITEREFWitt2019" class="citation magazine cs1">Witt, Stephen (June 24, 2019). <a rel="nofollow" class="external text" href="https://www.wired.com/story/apollo-11-mission-out-of-control/">"Apollo 11: Mission Out of Control"</a>. <i>Wired</i>. San Francisco: Condé Nast Publications<span class="reference-accessdate">. Retrieved <span class="nowrap">September 18,</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite id="CITEREFTomayko2000" class="citation cs2">Tomayko, James E. (2000), <a rel="nofollow" class="external text" href="http://www.klabs.org/history/history_docs/reports/dfbw_tomayko.pdf">"NASA SP-2000-4224 — Computers Take Flight: A History of NASA's Pioneering Digital Fly-By-Wire Project"</a> <span class="cs1-format">(PDF)</span>, <i>The NASA History Series</i>, Washington, D.C.: NASA<span class="reference-accessdate">, retrieved <span class="nowrap">2009-09-01</span></span></cite></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><cite id="CITEREFBurkey" class="citation web cs1">Burkey, Ron. <a rel="nofollow" class="external text" href="https://www.ibiblio.org/apollo/">"VirtualAGC"</a>. <i>iBiblio</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 April</span> 2021</span>.</cite></span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20210507091417/https://github.com/virtualagc/virtualagc">"AGC source code collection on Github, maintained by iBiblio"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. Archived from <a rel="nofollow" class="external text" href="https://github.com/virtualagc/virtualagc">the original</a> on 7 May 2021.</cite> <a rel="nofollow" class="external text" href="https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/virtualagc/virtualagc">Alt URL</a></span>
</li>
<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.softwareheritage.org/2019/07/20/archiving-and-referencing-the-apollo-source-code/">"Archiving and referencing the Apollo source code"</a>. <i>www.softwareheritage.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-09-09</span></span>.</cite></span>
</li>
<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://ibiblio.org/apollo/index.html">"Virtual AGC Home Page"</a>. <i>ibiblio.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-09-09</span></span>.</cite></span>
</li>
<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><cite id="CITEREFCollins2016" class="citation web cs1">Collins, Keith (9 July 2016). <a rel="nofollow" class="external text" href="http://qz.com/726338/the-code-that-took-america-to-the-moon-was-just-published-to-github-and-its-like-a-1960s-time-capsule/">"The code that took America to the moon was just published to GitHub, and it's like a 1960s time capsule"</a>. <i>Quartz</i><span class="reference-accessdate">. Retrieved <span class="nowrap">19 August</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite id="CITEREFGarry" class="citation web cs1">Garry, Chris. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210412083345/https://github.com/chrislgarry/Apollo-11">"Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules"</a>. <i>GitHub</i>. Archived from <a rel="nofollow" class="external text" href="https://github.com/chrislgarry/Apollo-11/">the original</a> on 12 April 2021.</cite> <a rel="nofollow" class="external text" href="https://archive.softwareheritage.org/badge/origin/https://github.com/chrislgarry/Apollo-11/">Alt URL</a></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.engadget.com/2016-07-10-apollo-11-source-code-on-github.html">"Apollo 11's source code is now on GitHub"</a>. <i>Engadget</i>. 10 July 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-09-09</span></span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading3"><h3 id="Sources">Sources</h3></div>
<ul><li><cite id="CITEREFMindell2008" class="citation book cs1">Mindell, David A. (2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=gXYItzQARVoC&amp;pg=PP1"><i>Digital Apollo: Human and Machine in Spaceflight</i></a>. Cambridge, Massachusetts: The MIT Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-262-26668-0</bdi>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */


.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1237033735">
/* start https://en.wikipedia.org/ */


@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}


/* end https://en.wikipedia.org/ */
</style><div class="side-box side-box-right sistersitebox">
<div class="side-box-flex">
<div class="side-box-image"><span class="noviewer" typeof="mw:File"></span></div>
<div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Apollo_Guidance_Computer" class="extiw external" title="commons:Category:Apollo Guidance Computer">Apollo Guidance Computer</a></span>.</div></div>
</div>
<dl><dt>Documentation on the AGC and its development</dt></dl>
<ul><li><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/01/hrst.mit.edu/hrs/apollo/public/archive/1689.pdf"><i>AGC4 Memo #9, Block II Instructions</i></a> – The infamous memo that served as de facto official documentation of the instruction set</li>
<li><a rel="nofollow" class="external text" href="https://www.hq.nasa.gov/office/pao/History/computers/Ch2-5.html"><i>Computers in Spaceflight: The NASA Experience</i></a> – By James Tomayko (Chapter 2, Part 5, <i>The Apollo guidance computer: Hardware</i>)</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20040719084435/http://www.dfrc.nasa.gov/History/Publications/PDF/DFBW.pdf"><i>Computers Take Flight</i></a> – By James Tomayko</li>
<li><a rel="nofollow" class="external text" href="http://klabs.org/history/history_docs/ech/agc_scott.pdf"><i>The Apollo Guidance Computer - A Users View</i></a> (<a href="Portable_Document_Format" class="mw-redirect" title="Portable Document Format">PDF</a>) – By David Scott, Apollo mission astronaut</li>
<li><a rel="nofollow" class="external text" href="https://www.klabs.org/mapld04/papers/p/p202_portillo_p.pdf"><i>Lunar Module Attitude Controller Assembly Input Processing</i></a> (<a href="Portable_Document_Format" class="mw-redirect" title="Portable Document Format">PDF</a>) – By José Portillo Lugo</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070612155102/http://authors.library.caltech.edu/5456/01/hrst.mit.edu/hrs/apollo/public/">The MIT AGC Project</a> – With comprehensive document archive
<ul><li><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/01/hrst.mit.edu/groups/apollo/bibliography/q-and-a-fetch-comments.tcl_lastquestion_id=00016K&amp;topic_id=11&amp;topic=Document%20Library&amp;entryformat=S&amp;sortorder=author.html">Luminary software source code listing</a>, for Lunar Module guidance computer. (nb. 622 Mb)</li>
<li><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/01/hrst.mit.edu/groups/apollo/bibliography/q-and-a-fetch-comments.tcl_lastquestion_id=000156&amp;topic_id=11&amp;topic=Document%20Library&amp;entryformat=S&amp;sortorder=author.html">Colossus software source code listing</a>, for Command Module guidance computer. (nb. 83 Mb)</li></ul></li>
<li><a rel="nofollow" class="external text" href="https://archive.today/20110807043850/http://collections.nasm.si.edu/code/emuseum.asp?style=browse&amp;currentrecord=1&amp;page=search&amp;profile=objects&amp;searchdesc=A19720340000&amp;quicksearch=A19720340000&amp;newvalues=1&amp;newstyle=single&amp;newcurrentrecord=1">National Air and Space Museum's AGC Block I</a> and <a rel="nofollow" class="external text" href="https://archive.today/20110807043856/http://collections.nasm.si.edu/code/emuseum.asp?style=browse&amp;currentrecord=1&amp;page=search&amp;profile=objects&amp;searchdesc=A19760811000&amp;quicksearch=A19760811000&amp;newvalues=1&amp;newstyle=single&amp;newcurrentrecord=1">Dsky</a></li>
<li><a rel="nofollow" class="external text" href="http://authors.library.caltech.edu/5456/01/hrst.mit.edu/hrs/apollo/public/blairsmith3.htm">Annotations to Eldon Hall's Journey to the Moon</a> – An AGC system programmer discusses some obscure details of the development of AGC, including specifics of Ed's Interrupt</li></ul>
<dl><dt>Documentation of AGC hardware design, and particularly the use of the new integrated circuits in place of transistors</dt></dl>
<ul><li><a rel="nofollow" class="external text" href="http://klabs.org/history/ech/ic_packages/index.htm">AGC Integrated Circuit Packages</a></li>
<li><a rel="nofollow" class="external text" href="http://klabs.org/history/history_docs/integrated_circuits/ic4-po.pdf">Integrated Circuits in the Apollo Guidance Computer</a></li></ul>
<dl><dt>Documentation of AGC software operation</dt></dl>
<ul><li><a rel="nofollow" class="external text" href="https://www.nasa.gov/wp-content/uploads/static/history/alsj/a15/a15delco.pdf">Delco Electronics, Apollo 15</a> - Manual for CSM and LEM AGC software used on the Apollo 15 mission, including detailed user interface procedures, explanation of many underlying algorithms and limited hardware information. Note that this document has over 500 pages and is over 150 megabytes in size.</li>
<li><a rel="nofollow" class="external text" href="http://googlecode.blogspot.com/2009/07/apollo-11-missions-40th-anniversary-one.html">Source code</a> for Command Module code (Comanche054) and Lunar Module code (Luminary099) as text.</li>
<li><a rel="nofollow" class="external text" href="https://github.com/chrislgarry/Apollo-11/">GitHub Complete Source Code</a> Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.</li></ul>
<dl><dt>Some AGC-based projects and simulators</dt></dl>
<ul><li><a rel="nofollow" class="external text" href="http://klabs.org/history/build_agc/">AGC Replica</a> – John Pultorak's successful project to build a hardware replica of the Block I AGC in his basement. Mirror site: <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110222113340/http://echoesofapollo.com/resources/apollo-guidance-computer/">AGC Replica</a>.</li>
<li><a rel="nofollow" class="external text" href="http://www.ibiblio.org/apollo/index.html">Virtual AGC Home Page</a> – Ronald Burkey's AGC simulator, plus source and binary code recovery for the Colossus (CSM) and Luminary (LEM) SW.</li>
<li><a rel="nofollow" class="external text" href="http://www.svtsim.com/moonjs/agc.html">Moonjs</a> – A web-based AGC simulator based on Virtual AGC.</li>
<li><a rel="nofollow" class="external text" href="http://www.eaglelander3d.com/">Eagle Lander 3D</a> Shareware Lunar Lander Simulator with a working AGC and DSKY (Windows only).</li>
<li><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=Bh_gP5aF3ys">AGC restarted 45 years later</a> – youtube</li></ul>
<p><b>Feature Stories</b>
</p>
<ul><li><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=ndvmFlg1WmE"><i>Computer for Apollo</i></a>(1965) <a href="MIT" class="mw-redirect" title="MIT">MIT</a> Science Reporter – youtube</li>
<li><a rel="nofollow" class="external text" href="http://news.bbc.co.uk/1/hi/8148730.stm">Weaving the way to the Moon</a> (BBC News)</li>
<li><a rel="nofollow" class="external text" href="https://www.wsj.com/video/restorers-try-to-get-lunar-module-guidance-computer-up-and-running/55526F08-0CC6-4CF7-9BCC-6BE6A20FE31C.html">Restorers try to get lunar module guidance computer up and running</a> (Wall Street Journal)</li>
<li><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=YIBhPsyYCiM"><i>Computer for Apollo</i> video</a> – youtube</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Apollo_program_hardware308" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Apollo_program_hardware308" style="font-size:114%;margin:0 4em"><a href="Apollo_program" title="Apollo program">Apollo program hardware</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Launch vehicles</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Little_Joe_II" title="Little Joe II">Little Joe II</a></li>
<li><a href="Saturn_I" title="Saturn I">Saturn I</a></li>
<li><a href="Saturn_IB" title="Saturn IB">Saturn IB</a></li>
<li><a href="Saturn_V" title="Saturn V">Saturn V</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Launch vehicle<br>components</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Rocketdyne_F-1" title="Rocketdyne F-1">F-1 engine</a></li>
<li><a href="Rocketdyne_J-2" title="Rocketdyne J-2">J-2 engine</a></li>
<li><a href="Saturn_V_instrument_unit" title="Saturn V instrument unit">Instrument unit</a></li>
<li><a href="Launch_Vehicle_Digital_Computer" title="Launch Vehicle Digital Computer">Launch Vehicle Digital Computer</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Spacecraft</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Apollo_(spacecraft)" title="Apollo (spacecraft)">Apollo </a>
<ul><li><a href="Apollo_command_module" class="mw-redirect" title="Apollo command module">Apollo command module</a>
<ul><li><i><a href="Command_module_Columbia" title="Command module Columbia">Columbia</a></i></li></ul></li>
<li><a href="Apollo_service_module" class="mw-redirect" title="Apollo service module">Apollo service module</a></li>
<li><a href="Apollo_Lunar_Module" title="Apollo Lunar Module">Apollo Lunar Module</a>
<ul><li><i><a href="Lunar_Module_Eagle" title="Lunar Module Eagle">Eagle</a></i></li></ul></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Spacecraft<br>components</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Apollo_Abort_Guidance_System" title="Apollo Abort Guidance System">Apollo Abort Guidance System</a></li>
<li><a href="Apollo_Docking_Mechanism" title="Apollo Docking Mechanism">Apollo Docking Mechanism</a></li>

<li><a href="ALSE" title="ALSE">Lunar Sounder Experiment</a></li>
<li><a href="Apollo_PGNCS" title="Apollo PGNCS">Primary guidance, navigation, and control system</a></li>
<li><a href="Apollo_Telescope_Mount" title="Apollo Telescope Mount">Apollo Telescope Mount</a></li>
<li><a href="Apollo_TV_camera" title="Apollo TV camera">Apollo TV camera</a></li>
<li><a href="Descent_propulsion_system" title="Descent propulsion system">Descent propulsion system</a></li>
<li><a href="Ascent_propulsion_system" title="Ascent propulsion system">Ascent propulsion system</a></li>
<li><a href="Scimitar_antenna" title="Scimitar antenna">Scimitar antenna</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Space suits</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Apollo/Skylab_spacesuit" title="Apollo/Skylab spacesuit">Apollo/Skylab A7L</a>
<ul><li><a href="Beta_cloth" title="Beta cloth">Beta cloth</a></li>
<li><a href="Thermal_Micrometeoroid_Garment" title="Thermal Micrometeoroid Garment">Thermal Micrometeoroid Garment</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Lunar surface<br>equipment</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Primary_life_support_system" title="Primary life support system">Portable Life Support System</a></li>
<li><a href="Lunar_Roving_Vehicle" title="Lunar Roving Vehicle">Lunar Roving Vehicle</a></li>
<li><a href="Lunar_Laser_Ranging_experiment" class="mw-redirect" title="Lunar Laser Ranging experiment">Lunar Laser Ranging experiment</a>
<ul><li><a href="List_of_retroreflectors_on_the_Moon" title="List of retroreflectors on the Moon">list of retroreflectors</a></li></ul></li>
<li><a href="Solar_Wind_Composition_Experiment" title="Solar Wind Composition Experiment">Solar Wind Composition Experiment</a></li>
<li><a href="Apollo_Lunar_Surface_Experiments_Package" title="Apollo Lunar Surface Experiments Package">Apollo Lunar Surface Experiments Package</a>
<ul><li><a href="Active_Seismic_Experiment" title="Active Seismic Experiment">Active Seismic Experiment</a></li>
<li><a href="Apollo_12_Passive_Seismic_Experiment" title="Apollo 12 Passive Seismic Experiment">Apollo 12 Passive Seismic Experiment</a></li>
<li><a href="Apollo_14_Passive_Seismic_Experiment" title="Apollo 14 Passive Seismic Experiment">Apollo 14 Passive Seismic Experiment</a></li>
<li><a href="Charged_Particle_Lunar_Environment_Experiment" title="Charged Particle Lunar Environment Experiment">Charged Particle Lunar Environment Experiment</a></li>
<li><a href="Lunar_Ejecta_and_Meteorites_(experiment)" class="mw-redirect" title="Lunar Ejecta and Meteorites (experiment)">Lunar Ejecta and Meteorites Experiment</a></li>
<li><a href="Solar_Wind_Spectrometer" title="Solar Wind Spectrometer">Solar Wind Spectrometer Experiment</a></li></ul></li>
<li><a href="Modular_Equipment_Transporter" title="Modular Equipment Transporter">Modular Equipment Transporter</a></li>
<li><a href="Lunar_Seismic_Profiling_Experiment" title="Lunar Seismic Profiling Experiment">Lunar Seismic Profiling Experiment</a></li>
<li><a href="Lunar_Surface_Gravimeter" title="Lunar Surface Gravimeter">Lunar Surface Gravimeter</a></li>
<li><a href="Lunar_Surface_Magnetometer" title="Lunar Surface Magnetometer">Lunar Surface Magnetometer</a></li>
<li><a href="Lunar_Traverse_Gravimeter" title="Lunar Traverse Gravimeter">Lunar Traverse Gravimeter</a></li>
<li><a href="Cold_Cathode_Gauge_Experiment" title="Cold Cathode Gauge Experiment">Cold Cathode Gauge Experiment</a></li>
<li><a href="Heat_Flow_Experiment" title="Heat Flow Experiment">Heat Flow Experiment</a></li>
<li><a href="Suprathermal_Ion_Detector_Experiment" title="Suprathermal Ion Detector Experiment">Suprathermal Ion Detector Experiment</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Ground support</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Mobile_launcher_platform#Saturn_V_and_Space_Shuttle" title="Mobile launcher platform">Mobile Launcher</a></li>
<li><a href="Apollo_launch_umbilical_tower" class="mw-redirect" title="Apollo launch umbilical tower">Launch Umbilical Tower</a></li>
<li><a href="Crawler-transporter" title="Crawler-transporter">Crawler-transporter</a></li>
<li><a href="Lunar_Landing_Research_Vehicle" title="Lunar Landing Research Vehicle">Lunar Landing Research Vehicle</a></li>
<li><a href="Mobile_quarantine_facility" title="Mobile quarantine facility">Mobile quarantine facility</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Ceremonial</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Lunar_plaque" title="Lunar plaque">Lunar plaque</a></li>
<li><a href="Lunar_Flag_Assembly" title="Lunar Flag Assembly">Lunar Flag Assembly</a></li>
<li><i><a href="Fallen_Astronaut" title="Fallen Astronaut">Fallen Astronaut</a></i></li>
<li><a href="Apollo_11_goodwill_messages" title="Apollo 11 goodwill messages">Apollo 11 goodwill messages</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Lunar_escape_systems" title="Lunar escape systems">Lunar escape systems</a></li>
<li><a href="Rendezvous_Docking_Simulator" title="Rendezvous Docking Simulator">Rendezvous Docking Simulator</a></li>
<li><i><a href="Moon_Museum" title="Moon Museum">Moon Museum</a></i></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category:Apollo program hardware</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Guidance_computers166" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Guidance_computers166" style="font-size:114%;margin:0 4em">Guidance computers</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">On crewed spacecraft</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Gemini_Guidance_Computer" title="Gemini Guidance Computer">Gemini Guidance Computer</a></li>

<li><a href="Apollo_Abort_Guidance_System" title="Apollo Abort Guidance System">Apollo Abort Guidance System</a></li>
<li><a href="IBM_System/4_Pi" title="IBM System/4 Pi">IBM System/4 Pi</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">On launch vehicles</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ATHENA_computer" class="mw-redirect" title="ATHENA computer">ATHENA computer</a></li>
<li><a href="ASC-15" title="ASC-15">ASC-15</a></li>
<li><a href="D-17B" title="D-17B">D-17</a></li>
<li><a href="Launch_Vehicle_Digital_Computer" title="Launch Vehicle Digital Computer">Launch Vehicle Digital Computer</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category:Guidance computers</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Processor_technologies439" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Processor_technologies439" style="font-size:114%;margin:0 4em"><a href="Processor_(computing)" title="Processor (computing)">Processor technologies</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Model_of_computation" title="Model of computation">Models</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Abstract_machine" title="Abstract machine">Abstract machine</a></li>
<li><a href="Stored-program_computer" title="Stored-program computer">Stored-program computer</a></li>
<li><a href="Finite-state_machine" title="Finite-state machine">Finite-state machine</a>
<ul><li><a href="Finite-state_machine_with_datapath" class="mw-redirect" title="Finite-state machine with datapath">with datapath</a></li>
<li><a href="Hierarchical_state_machine" class="mw-redirect" title="Hierarchical state machine">Hierarchical</a></li>
<li><a href="Deterministic_finite_automaton" title="Deterministic finite automaton">Deterministic finite automaton</a></li>
<li><a href="Queue_automaton" title="Queue automaton">Queue automaton</a></li>
<li><a href="Cellular_automaton" title="Cellular automaton">Cellular automaton</a></li>
<li><a href="Quantum_cellular_automaton" title="Quantum cellular automaton">Quantum cellular automaton</a></li></ul></li>
<li><a href="Turing_machine" title="Turing machine">Turing machine</a>
<ul><li><a href="Alternating_Turing_machine" title="Alternating Turing machine">Alternating Turing machine</a></li>
<li><a href="Universal_Turing_machine" title="Universal Turing machine">Universal</a></li>
<li><a href="Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing</a></li>
<li><a href="Quantum_Turing_machine" title="Quantum Turing machine">Quantum</a></li>
<li><a href="Nondeterministic_Turing_machine" title="Nondeterministic Turing machine">Nondeterministic Turing machine</a></li>
<li><a href="Probabilistic_Turing_machine" title="Probabilistic Turing machine">Probabilistic Turing machine</a></li>
<li><a href="Hypercomputation" title="Hypercomputation">Hypercomputation</a></li>
<li><a href="Zeno_machine" title="Zeno machine">Zeno machine</a></li></ul></li>
<li><a href="History_of_general-purpose_CPUs#Belt_machine_architecture" title="History of general-purpose CPUs">Belt machine</a></li>
<li><a href="Stack_machine" title="Stack machine">Stack machine</a></li>
<li><a href="Register_machine" title="Register machine">Register machines</a>
<ul><li><a href="Counter_machine" title="Counter machine">Counter</a></li>
<li><a href="Pointer_machine" title="Pointer machine">Pointer</a></li>
<li><a href="Random-access_machine" title="Random-access machine">Random-access</a></li>
<li><a href="Random-access_stored-program_machine" title="Random-access stored-program machine">Random-access stored program</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_architecture" title="Computer architecture">Architecture</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microarchitecture" title="Microarchitecture">Microarchitecture</a></li>
<li><a href="Von_Neumann_architecture" title="Von Neumann architecture">Von Neumann</a></li>
<li><a href="Harvard_architecture" title="Harvard architecture">Harvard</a>
<ul><li><a href="Modified_Harvard_architecture" title="Modified Harvard architecture">modified</a></li></ul></li>
<li><a href="Dataflow_architecture" title="Dataflow architecture">Dataflow</a></li>
<li><a href="Transport_triggered_architecture" title="Transport triggered architecture">Transport-triggered</a></li>
<li><a href="Cellular_architecture" title="Cellular architecture">Cellular</a></li>
<li><a href="Endianness" title="Endianness">Endianness</a></li>
<li><a href="Computer_data_storage" title="Computer data storage">Memory access</a>
<ul><li><a href="Non-uniform_memory_access" title="Non-uniform memory access">NUMA</a></li>
<li><a href="Uniform_memory_access" title="Uniform memory access">HUMA</a></li>
<li><a href="Load%E2%80%93store_architecture" title="Load–store architecture">Load–store</a></li>
<li><a href="Register%E2%80%93memory_architecture" title="Register–memory architecture">Register/memory</a></li></ul></li>
<li><a href="Cache_hierarchy" title="Cache hierarchy">Cache hierarchy</a></li>
<li><a href="Memory_hierarchy" title="Memory hierarchy">Memory hierarchy</a>
<ul><li><a href="Virtual_memory" title="Virtual memory">Virtual memory</a></li>
<li><a href="Secondary_storage" class="mw-redirect" title="Secondary storage">Secondary storage</a></li></ul></li>
<li><a href="Heterogeneous_System_Architecture" title="Heterogeneous System Architecture">Heterogeneous</a></li>
<li><a href="Fabric_computing" title="Fabric computing">Fabric</a></li>
<li><a href="Multiprocessing" title="Multiprocessing">Multiprocessing</a></li>
<li><a href="Cognitive_computing" title="Cognitive computing">Cognitive</a></li>
<li><a href="Neuromorphic_engineering" class="mw-redirect" title="Neuromorphic engineering">Neuromorphic</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_set_architecture" title="Instruction set architecture">Instruction set<br>architectures</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Orthogonal_instruction_set" title="Orthogonal instruction set">Orthogonal instruction set</a></li>
<li><a href="Complex_instruction_set_computer" title="Complex instruction set computer">CISC</a></li>
<li><a href="Reduced_instruction_set_computer" title="Reduced instruction set computer">RISC</a></li>
<li><a href="Application-specific_instruction_set_processor" title="Application-specific instruction set processor">Application-specific</a></li>
<li><a href="Explicit_data_graph_execution" title="Explicit data graph execution">EDGE</a>
<ul><li><a href="TRIPS_architecture" title="TRIPS architecture">TRIPS</a></li></ul></li>
<li><a href="Very_long_instruction_word" title="Very long instruction word">VLIW</a>
<ul><li><a href="Explicitly_parallel_instruction_computing" title="Explicitly parallel instruction computing">EPIC</a></li></ul></li>
<li><a href="Minimal_instruction_set_computer" title="Minimal instruction set computer">MISC</a></li>
<li><a href="One-instruction_set_computer" title="One-instruction set computer">OISC</a></li>
<li><a href="No_instruction_set_computing" title="No instruction set computing">NISC</a></li>
<li><a href="Zero_instruction_set_computer" class="mw-redirect" title="Zero instruction set computer">ZISC</a></li>
<li><a href="VISC_architecture" title="VISC architecture">VISC architecture</a></li>
<li><a href="Quantum_computing" title="Quantum computing">Quantum computing</a></li>
<li><a href="Comparison_of_instruction_set_architectures" title="Comparison of instruction set architectures">Comparison</a>
<ul><li><a href="Addressing_mode" title="Addressing mode">Addressing modes</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Instruction<br>sets</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Motorola_68000_series" title="Motorola 68000 series">Motorola 68000 series</a></li>
<li><a href="VAX" title="VAX">VAX</a></li>
<li><a href="PDP-11_architecture" title="PDP-11 architecture">PDP-11</a></li>
<li><a href="X86" title="X86">x86</a></li>
<li><a href="ARM_architecture_family" title="ARM architecture family">ARM</a></li>
<li><a href="Stanford_MIPS" title="Stanford MIPS">Stanford MIPS</a></li>
<li><a href="MIPS_architecture" title="MIPS architecture">MIPS</a></li>
<li><a href="MIPS-X" title="MIPS-X">MIPS-X</a></li>
<li>Power
<ul><li><a href="IBM_POWER_architecture" title="IBM POWER architecture">POWER</a></li>
<li><a href="PowerPC" title="PowerPC">PowerPC</a></li>
<li><a href="Power_ISA" title="Power ISA">Power ISA</a></li></ul></li>
<li><a href="Clipper_architecture" title="Clipper architecture">Clipper architecture</a></li>
<li><a href="SPARC" title="SPARC">SPARC</a></li>
<li><a href="SuperH" title="SuperH">SuperH</a></li>
<li><a href="DEC_Alpha" title="DEC Alpha">DEC Alpha</a></li>
<li><a href="ETRAX_CRIS" title="ETRAX CRIS">ETRAX CRIS</a></li>
<li><a href="M32R" title="M32R">M32R</a></li>
<li><a href="Unicore" title="Unicore">Unicore</a></li>
<li><a href="IA-64" title="IA-64">Itanium</a></li>
<li><a href="OpenRISC" title="OpenRISC">OpenRISC</a></li>
<li><a href="RISC-V" title="RISC-V">RISC-V</a></li>
<li><a href="MicroBlaze" title="MicroBlaze">MicroBlaze</a></li>
<li><a href="Little_man_computer" class="mw-redirect" title="Little man computer">LMC</a></li>
<li>System/3x0
<ul><li><a href="IBM_System/360_architecture" title="IBM System/360 architecture">S/360</a></li>
<li><a href="IBM_System/370" title="IBM System/370">S/370</a></li>
<li><a href="IBM_System/390" title="IBM System/390">S/390</a></li>
<li><a href="Z/Architecture" title="Z/Architecture">z/Architecture</a></li></ul></li>
<li>Tilera ISA</li>
<li><a href="VISC_architecture" title="VISC architecture">VISC architecture</a></li>
<li><a href="Adapteva" class="mw-redirect" title="Adapteva">Epiphany architecture</a></li>
<li><a href="Comparison_of_instruction_set_architectures" title="Comparison of instruction set architectures">Others</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_cycle" title="Instruction cycle">Execution</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_pipelining" title="Instruction pipelining">Instruction pipelining</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Pipeline_stall" title="Pipeline stall">Pipeline stall</a></li>
<li><a href="Operand_forwarding" title="Operand forwarding">Operand forwarding</a></li>
<li><a href="Classic_RISC_pipeline" title="Classic RISC pipeline">Classic RISC pipeline</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hazard_(computer_architecture)" title="Hazard (computer architecture)">Hazards</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Data_dependency" title="Data dependency">Data dependency</a></li>
<li><a href="Structural_hazard" class="mw-redirect" title="Structural hazard">Structural</a></li>
<li><a href="Control_hazard" class="mw-redirect" title="Control hazard">Control</a></li>
<li><a href="False_sharing" title="False sharing">False sharing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Out-of-order_execution" title="Out-of-order execution">Out-of-order</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Scoreboarding" title="Scoreboarding">Scoreboarding</a></li>
<li><a href="Tomasulo's_algorithm" title="Tomasulo's algorithm">Tomasulo's algorithm</a>
<ul><li><a href="Reservation_station" title="Reservation station">Reservation station</a></li>
<li><a href="Re-order_buffer" title="Re-order buffer">Re-order buffer</a></li></ul></li>
<li><a href="Register_renaming" title="Register renaming">Register renaming</a></li>
<li><a href="Wide-issue" title="Wide-issue">Wide-issue</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Speculative_execution" title="Speculative execution">Speculative</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Branch_predictor" title="Branch predictor">Branch prediction</a></li>
<li><a href="Memory_dependence_prediction" title="Memory dependence prediction">Memory dependence prediction</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Parallel_computing" title="Parallel computing">Parallelism</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Level</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bit-level_parallelism" title="Bit-level parallelism">Bit</a>
<ul><li><a href="Bit-serial_architecture" title="Bit-serial architecture">Bit-serial</a></li>
<li><a href="Word_(computer_architecture)" title="Word (computer architecture)">Word</a></li></ul></li>
<li><a href="Instruction-level_parallelism" title="Instruction-level parallelism">Instruction</a></li>
<li><a href="Instruction_pipelining" title="Instruction pipelining">Pipelining</a>
<ul><li><a href="Scalar_processor" title="Scalar processor">Scalar</a></li>
<li><a href="Superscalar_processor" title="Superscalar processor">Superscalar</a></li></ul></li>
<li><a href="Task_parallelism" title="Task parallelism">Task</a>
<ul><li><a href="Thread_(computing)" title="Thread (computing)">Thread</a></li>
<li><a href="Process_(computing)" title="Process (computing)">Process</a></li></ul></li>
<li><a href="Data_parallelism" title="Data parallelism">Data</a>
<ul><li><a href="Vector_processor" title="Vector processor">Vector</a></li></ul></li>
<li><a href="Memory-level_parallelism" title="Memory-level parallelism">Memory</a></li>
<li><a href="Distributed_architecture" class="mw-redirect" title="Distributed architecture">Distributed</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">Multithreading</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Temporal_multithreading" title="Temporal multithreading">Temporal</a></li>
<li><a href="Simultaneous_multithreading" title="Simultaneous multithreading">Simultaneous</a>
<ul><li><a href="Hyper-threading" title="Hyper-threading">Hyperthreading</a></li>
<li><a href="Simultaneous_and_heterogeneous_multithreading" title="Simultaneous and heterogeneous multithreading">Simultaneous and heterogenous</a></li></ul></li>
<li><a href="Speculative_multithreading" title="Speculative multithreading">Speculative</a></li>
<li><a href="Preemption_(computing)" title="Preemption (computing)">Preemptive</a></li>
<li><a href="Cooperative_multitasking" title="Cooperative multitasking">Cooperative</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Flynn's_taxonomy" title="Flynn's taxonomy">Flynn's taxonomy</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Single_instruction%2C_single_data" title="Single instruction, single data">SISD</a></li>
<li><a href="Single_instruction%2C_multiple_data" title="Single instruction, multiple data">SIMD</a>
<ul><li><a href="Single_instruction%2C_multiple_threads" title="Single instruction, multiple threads">Array processing (SIMT)</a></li>
<li><a href="Flynn's_taxonomy#Pipelined_processor" title="Flynn's taxonomy">Pipelined processing</a></li>
<li><a href="Flynn's_taxonomy#Associative_processor" title="Flynn's taxonomy">Associative processing</a></li>
<li><a href="SWAR" title="SWAR">SWAR</a></li></ul></li>
<li><a href="Multiple_instruction%2C_single_data" title="Multiple instruction, single data">MISD</a></li>
<li><a href="Multiple_instruction%2C_multiple_data" title="Multiple instruction, multiple data">MIMD</a>
<ul><li><a href="Single_program%2C_multiple_data" title="Single program, multiple data">SPMD</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Computer_performance" title="Computer performance">Processor<br>performance</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Transistor_count" title="Transistor count">Transistor count</a></li>
<li><a href="Instructions_per_cycle" title="Instructions per cycle">Instructions per cycle</a> (IPC)
<ul><li><a href="Cycles_per_instruction" title="Cycles per instruction">Cycles per instruction</a> (CPI)</li></ul></li>
<li><a href="Instructions_per_second" title="Instructions per second">Instructions per second</a> (IPS)</li>
<li><a href="FLOPS" class="mw-redirect" title="FLOPS">Floating-point operations per second</a> (FLOPS)</li>
<li><a href="Transactions_per_second" title="Transactions per second">Transactions per second</a> (TPS)</li>
<li><a href="SUPS" title="SUPS">Synaptic updates per second</a> (SUPS)</li>
<li><a href="Performance_per_watt" title="Performance per watt">Performance per watt</a> (PPW)</li>
<li><a href="Cache_performance_measurement_and_metric" title="Cache performance measurement and metric">Cache performance metrics</a></li>
<li><a href="Computer_performance_by_orders_of_magnitude" title="Computer performance by orders of magnitude">Computer performance by orders of magnitude</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Processor_(computing)" title="Processor (computing)">Types</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Central_processing_unit" title="Central processing unit">Central processing unit</a> (CPU)</li>
<li><a href="Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a> (GPU)
<ul><li><a href="General-purpose_computing_on_graphics_processing_units" title="General-purpose computing on graphics processing units">GPGPU</a></li></ul></li>
<li><a href="Vector_processor" title="Vector processor">Vector</a></li>
<li><a href="Barrel_processor" title="Barrel processor">Barrel</a></li>
<li><a href="Stream_processing" title="Stream processing">Stream</a></li>
<li><a href="Tile_processor" title="Tile processor">Tile processor</a></li>
<li><a href="Coprocessor" title="Coprocessor">Coprocessor</a></li>
<li><a href="Programmable_Array_Logic" title="Programmable Array Logic">PAL</a></li>
<li><a href="Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a></li>
<li><a href="Field-programmable_gate_array" title="Field-programmable gate array">FPGA</a></li>
<li><a href="Field-programmable_object_array" title="Field-programmable object array">FPOA</a></li>
<li><a href="Complex_programmable_logic_device" title="Complex programmable logic device">CPLD</a></li>
<li><a href="Multi-chip_module" title="Multi-chip module">Multi-chip module</a> (MCM)</li>
<li><a href="System_in_a_package" title="System in a package">System in a package</a> (SiP)</li>
<li><a href="Package_on_a_package" title="Package on a package">Package on a package</a> (PoP)</li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">By application</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Embedded_system" title="Embedded system">Embedded system</a></li>
<li><a href="Microprocessor" title="Microprocessor">Microprocessor</a></li>
<li><a href="Microcontroller" title="Microcontroller">Microcontroller</a></li>
<li><a href="Mobile_processor" title="Mobile processor">Mobile</a></li>
<li><a href="Ultra-low-voltage_processor" title="Ultra-low-voltage processor">Ultra-low-voltage</a></li>
<li><a href="Application-specific_instruction_set_processor" title="Application-specific instruction set processor">ASIP</a></li>
<li><a href="Soft_microprocessor" title="Soft microprocessor">Soft microprocessor</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Systems<br>on chip</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="System_on_a_chip" title="System on a chip">System on a chip</a> (SoC)</li>
<li><a href="Multiprocessor_system_on_a_chip" class="mw-redirect" title="Multiprocessor system on a chip">Multiprocessor</a> (MPSoC)</li>
<li><a href="Cypress_PSoC" title="Cypress PSoC">Cypress PSoC</a></li>
<li><a href="Network_on_a_chip" title="Network on a chip">Network on a chip</a> (NoC)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hardware_acceleration" title="Hardware acceleration">Hardware<br>accelerators</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Coprocessor" title="Coprocessor">Coprocessor</a></li>
<li><a href="AI_accelerator" class="mw-redirect" title="AI accelerator">AI accelerator</a></li>
<li><a href="Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a> (GPU)</li>
<li><a href="Image_processor" title="Image processor">Image processor</a></li>
<li><a href="Vision_processing_unit" title="Vision processing unit">Vision processing unit</a> (VPU)</li>
<li><a href="Physics_processing_unit" title="Physics processing unit">Physics processing unit</a> (PPU)</li>
<li><a href="Digital_signal_processor" title="Digital signal processor">Digital signal processor</a> (DSP)</li>
<li><a href="Tensor_Processing_Unit" title="Tensor Processing Unit">Tensor Processing Unit</a> (TPU)</li>
<li><a href="Secure_cryptoprocessor" title="Secure cryptoprocessor">Secure cryptoprocessor</a></li>
<li><a href="Network_processor" title="Network processor">Network processor</a></li>
<li><a href="Baseband_processor" title="Baseband processor">Baseband processor</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Word_(computer_architecture)" title="Word (computer architecture)">Word size</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="1-bit_computing" title="1-bit computing">1-bit</a></li>
<li><a href="4-bit_computing" title="4-bit computing">4-bit</a></li>
<li><a href="8-bit_computing" title="8-bit computing">8-bit</a></li>
<li><a href="12-bit_computing" title="12-bit computing">12-bit</a></li>

<li><a href="16-bit_computing" title="16-bit computing">16-bit</a></li>
<li><a href="24-bit_computing" title="24-bit computing">24-bit</a></li>
<li><a href="32-bit_computing" title="32-bit computing">32-bit</a></li>
<li><a href="48-bit_computing" title="48-bit computing">48-bit</a></li>
<li><a href="64-bit_computing" title="64-bit computing">64-bit</a></li>
<li><a href="128-bit_computing" title="128-bit computing">128-bit</a></li>
<li><a href="256-bit_computing" title="256-bit computing">256-bit</a></li>
<li><a href="512-bit_computing" title="512-bit computing">512-bit</a></li>
<li><a href="Bit_slicing" title="Bit slicing">bit slicing</a></li>
<li><a href="Word_(computer_architecture)#Table_of_word_sizes" title="Word (computer architecture)">others</a>
<ul><li><a href="Word_(computer_architecture)#Variable-word_architectures" title="Word (computer architecture)">variable</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Core count</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Single-core" title="Single-core">Single-core</a></li>
<li><a href="Multi-core_processor" title="Multi-core processor">Multi-core</a></li>
<li><a href="Manycore_processor" title="Manycore processor">Manycore</a></li>
<li><a href="Heterogeneous_computing" title="Heterogeneous computing">Heterogeneous architecture</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Central_processing_unit" title="Central processing unit">Core</a></li>
<li><a href="Cache_(computing)" title="Cache (computing)">Cache</a>
<ul><li><a href="CPU_cache" title="CPU cache">CPU cache</a></li>
<li><a href="Scratchpad_memory" title="Scratchpad memory">Scratchpad memory</a></li>
<li><a href="Data_cache" class="mw-redirect" title="Data cache">Data cache</a></li>
<li><a href="Instruction_cache" class="mw-redirect" title="Instruction cache">Instruction cache</a></li>
<li><a href="Cache_replacement_policies" title="Cache replacement policies">replacement policies</a></li>
<li><a href="Cache_coherence" title="Cache coherence">coherence</a></li></ul></li>
<li><a href="Bus_(computing)" title="Bus (computing)">Bus</a></li>
<li><a href="Clock_rate" title="Clock rate">Clock rate</a></li>
<li><a href="Clock_signal" title="Clock signal">Clock signal</a></li>
<li><a href="FIFO_(computing_and_electronics)" title="FIFO (computing and electronics)">FIFO</a></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Execution_unit" title="Execution unit">Functional<br>units</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Arithmetic_logic_unit" title="Arithmetic logic unit">Arithmetic logic unit</a> (ALU)</li>
<li><a href="Address_generation_unit" title="Address generation unit">Address generation unit</a> (AGU)</li>
<li><a href="Floating-point_unit" title="Floating-point unit">Floating-point unit</a> (FPU)</li>
<li><a href="Memory_management_unit" title="Memory management unit">Memory management unit</a> (MMU)
<ul><li><a href="Load%E2%80%93store_unit" title="Load–store unit">Load–store unit</a></li>
<li><a href="Translation_lookaside_buffer" title="Translation lookaside buffer">Translation lookaside buffer</a> (TLB)</li></ul></li>
<li><a href="Branch_predictor" title="Branch predictor">Branch predictor</a></li>
<li><a href="Branch_target_predictor" title="Branch target predictor">Branch target predictor</a></li>
<li><a href="Memory_controller" title="Memory controller">Integrated memory controller</a> (IMC)
<ul><li><a href="Memory_management_unit" title="Memory management unit">Memory management unit</a></li></ul></li>
<li><a href="Instruction_decoder" class="mw-redirect" title="Instruction decoder">Instruction decoder</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Logic_gate" title="Logic gate">Logic</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Combinational_logic" title="Combinational logic">Combinational</a></li>
<li><a href="Sequential_logic" title="Sequential logic">Sequential</a></li>
<li><a href="Glue_logic" title="Glue logic">Glue</a></li>
<li><a href="Logic_gate" title="Logic gate">Logic gate</a>
<ul><li><a href="Quantum_logic_gate" title="Quantum logic gate">Quantum</a></li>
<li><a href="Gate_array" title="Gate array">Array</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hardware_register" title="Hardware register">Registers</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Processor_register" title="Processor register">Processor register</a></li>
<li><a href="Status_register" title="Status register">Status register</a></li>
<li><a href="Stack_register" title="Stack register">Stack register</a></li>
<li><a href="Register_file" title="Register file">Register file</a></li>
<li><a href="Memory_buffer_register" title="Memory buffer register">Memory buffer</a></li>
<li><a href="Memory_address_register" title="Memory address register">Memory address register</a></li>
<li><a href="Program_counter" title="Program counter">Program counter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Control_unit" title="Control unit">Control unit</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hardwired_control_unit" class="mw-redirect" title="Hardwired control unit">Hardwired control unit</a></li>
<li><a href="Instruction_unit" title="Instruction unit">Instruction unit</a></li>
<li><a href="Data_buffer" title="Data buffer">Data buffer</a></li>
<li><a href="Write_buffer" title="Write buffer">Write buffer</a></li>
<li><a href="Microcode" title="Microcode">Microcode</a> <a href="ROM_image" title="ROM image">ROM</a></li>
<li><a href="Counter_(digital)" title="Counter (digital)">Counter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Datapath" title="Datapath">Datapath</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Multiplexer" title="Multiplexer">Multiplexer</a></li>
<li><a href="Demultiplexer" class="mw-redirect" title="Demultiplexer">Demultiplexer</a></li>
<li><a href="Adder_(electronics)" title="Adder (electronics)">Adder</a></li>
<li><a href="Binary_multiplier" title="Binary multiplier">Multiplier</a>
<ul><li><a href="CPU_multiplier" title="CPU multiplier">CPU</a></li></ul></li>
<li><a href="Binary_decoder" title="Binary decoder">Binary decoder</a>
<ul><li><a href="Address_decoder" title="Address decoder">Address decoder</a></li>
<li><a href="Sum-addressed_decoder" title="Sum-addressed decoder">Sum-addressed decoder</a></li></ul></li>
<li><a href="Barrel_shifter" title="Barrel shifter">Barrel shifter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Electronic_circuit" title="Electronic circuit">Circuitry</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Integrated_circuit" title="Integrated circuit">Integrated circuit</a>
<ul><li><a href="Three-dimensional_integrated_circuit" title="Three-dimensional integrated circuit">3D</a></li>
<li><a href="Mixed-signal_integrated_circuit" title="Mixed-signal integrated circuit">Mixed-signal</a></li>
<li><a href="Power_management_integrated_circuit" title="Power management integrated circuit">Power management</a></li></ul></li>
<li><a href="Boolean_circuit" title="Boolean circuit">Boolean</a></li>
<li><a href="Circuit_(computer_science)" title="Circuit (computer science)">Digital</a></li>
<li><a href="Analogue_electronics" title="Analogue electronics">Analog</a></li>
<li><a href="Quantum_circuit" title="Quantum circuit">Quantum</a></li>
<li><a href="Switch#Electronic_switches" title="Switch">Switch</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Power_management" title="Power management">Power<br>management</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Power_Management_Unit" title="Power Management Unit">PMU</a></li>
<li><a href="Advanced_Power_Management" title="Advanced Power Management">APM</a></li>
<li><a href="ACPI" title="ACPI">ACPI</a></li>
<li><a href="Dynamic_frequency_scaling" title="Dynamic frequency scaling">Dynamic frequency scaling</a></li>
<li><a href="Dynamic_voltage_scaling" title="Dynamic voltage scaling">Dynamic voltage scaling</a></li>
<li><a href="Clock_gating" title="Clock gating">Clock gating</a></li>
<li><a href="Performance_per_watt" title="Performance per watt">Performance per watt</a> (PPW)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="History_of_general-purpose_CPUs" title="History of general-purpose CPUs">History of general-purpose CPUs</a></li>
<li><a href="Microprocessor_chronology" title="Microprocessor chronology">Microprocessor chronology</a></li>
<li><a href="Processor_design" title="Processor design">Processor design</a></li>
<li><a href="Digital_electronics" title="Digital electronics">Digital electronics</a></li>
<li><a href="Hardware_security_module" title="Hardware security module">Hardware security module</a></li>
<li><a href="Semiconductor_device_fabrication" title="Semiconductor device fabrication">Semiconductor device fabrication</a></li>
<li><a href="Tick%E2%80%93tock_model" title="Tick–tock model">Tick–tock model</a></li>
<li><a href="Pin_grid_array" title="Pin grid array">Pin grid array</a></li>
<li><a href="Chip_carrier" title="Chip carrier">Chip carrier</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-16" href="https://en.wikipedia.org/wiki/?title=Apollo_Guidance_Computer&amp;oldid=1300804347">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>